CREATE EXTENSION pg_stat_statements; -- -- simple and compound statements -- SET pg_stat_statements.track_utility = FALSE; SET pg_stat_statements.track_planning = TRUE; SELECT pg_stat_statements_reset(); pg_stat_statements_reset -------------------------- (1 row) -- utility "create table" should not be shown CREATE TABLE pgss_test (a int, b char(20)); INSERT INTO pgss_test VALUES(generate_series(1, 10), 'aaa'); UPDATE pgss_test SET b = 'bbb' WHERE a > 7; DELETE FROM pgss_test WHERE a > 9; -- DROP test table SET pg_stat_statements.track_utility = TRUE; -- SELECT wal_records FROM pg_stat_wal; -- select txid_current(); DROP TABLE pgss_test; -- select txid_current(); -- SELECT wal_records FROM pg_stat_wal; SET pg_stat_statements.track_utility = FALSE; -- Check WAL is generated for the above statements SELECT query, calls, rows, wal_records, wal_bytes > 0 as wal_bytes_generated, wal_records > 0 as wal_records_generated, wal_records = rows as wal_records_as_rows FROM pg_stat_statements ORDER BY query COLLATE "C"; query | calls | rows | wal_records | wal_bytes_generated | wal_records_generated | wal_records_as_rows -----------------------------------------------------------+-------+------+-------------+---------------------+-----------------------+--------------------- DELETE FROM pgss_test WHERE a > $1 | 1 | 1 | 1 | t | t | t DROP TABLE pgss_test | 1 | 0 | 15 | t | t | f INSERT INTO pgss_test VALUES(generate_series($1, $2), $3) | 1 | 10 | 10 | t | t | t SELECT pg_stat_statements_reset() | 1 | 1 | 0 | f | f | f SELECT query, calls, rows, wal_records, +| 0 | 0 | 0 | f | f | t wal_bytes > $1 as wal_bytes_generated, +| | | | | | wal_records > $2 as wal_records_generated, +| | | | | | wal_records = rows as wal_records_as_rows +| | | | | | FROM pg_stat_statements ORDER BY query COLLATE "C" | | | | | | SET pg_stat_statements.track_utility = FALSE | 1 | 0 | 0 | f | f | t UPDATE pgss_test SET b = $1 WHERE a > $2 | 1 | 3 | 3 | t | t | t (7 rows) DROP EXTENSION pg_stat_statements;