Show queries running on PostgreSQL backends.
make && make install
echo "shared_preload_libraries='pg_querylog'" >> postgresql.conf
psql postgres -c "create schema querylog; create extension pg_querylog schema querylog;"
Also you can use session_preload_libraries
, but then enabled
option should be always on
since each starting
backend 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):
show pg_querylog.enabled
Get all saved queries using get_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 queries running_queries
use this view:
select * from querylog.running_queries;