PostgreSQL extension to display log from SQL
This module can be built using the standard PGXS infrastructure. For this to work, the pg_config
program must be available in your $PATH:
git clone https://github.com/pierreforstmann/pg_log.git
cd pg_log
make
make install
This extension has been validated with PostgreSQL 10, 11, 12, 13, 14, 15 and 16.
Extension must loaded at server level with shared_preload_libraries
parameter.
shared_preload_libraries = 'pg_log'
Following SQL statement must be run in the database that will store pg_log
objects:
create extension pg_log;
You must also set logging_collector
to on
and valid value for log_filename
.
pg_log
has 3 specific GUC settings:
pg_log.fraction
which is the log fraction that is displayed between 0 and 1. To display 10% of log contents starting from the end, usepg_log.fraction=0.1
. Default value is 0.01 (1%).pg_log.naptime
is the duration between each log refresh in the database. Default value is 30 seconds.pg_log.datname
is the database name wherepglog
table andlog
view are created. This database must be created before installing the extension. Default database name ispg_log
.
Add in postgresql.conf
:
shared_preload_libraries = 'pg_log'
Create database pg_log
:
create database pg_log;
Run in database pg_log
:
create extension pg_log
;
To display 1% of log contents connect to database pg_log
and query the log
view:
\c pg_log
select * from log;