
Show queries running on PostgreSQL backends.
make && make installecho "shared_preload_libraries='pg_querylog'" >> postgresql.confpsql postgres -c "create schema querylog; create extension pg_querylog schema querylog;"
Also you can usesession_preload_libraries
, but thenenabled
option should be alwayson
since each startingbackend will rewrite the value.
echo "session_preload_libraries='pg_querylog'" >> postgresql.conf
Make sure it's loaded:
show session_preload_libraries
and enabled (by default it is disabled):
Get all saved queries usingget_queries
function:
select * from querylog.get_queries()
Result columns:
pid
- backend process IDquery
- running (or runned) queryparams
- query parameters in case of parametrized querystart_time
- query start timeend_time
- query end time (ifrunning
== false)running
- running statusoverflow
- shows thatbuffer_size
is enough for this item
Parameters:
pg_querylog.buffer_size
- buffer size for each saved query, calculated as sum of lenghts of query and its params.pg_querylog.enabled
- controls saving queries.
For only running queriesrunning_queries
use this view:
select * from querylog.running_queries;