diff -U3 /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/select.out /tmp/cirrus-ci-build/build/testrun/pg_stat_statements/regress/results/select.out --- /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/select.out 2024-03-16 00:05:40.675888094 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pg_stat_statements/regress/results/select.out 2024-03-16 00:09:55.335697907 +0000 @@ -319,96 +319,7 @@ FROM (VALUES (1, 2, 3), (4, NULL, 6), (7, 8, 9)) AS t (a, b, c) GROUP BY ROLLUP(a, b), rollup(a, c) ORDER BY a, b, c; - a | b | c ----+---+--- - 1 | 2 | 3 - 1 | 2 | - 1 | 2 | - 1 | | 3 - 1 | | 3 - 1 | | - 1 | | - 1 | | - 4 | | 6 - 4 | | 6 - 4 | | 6 - 4 | | - 4 | | - 4 | | - 4 | | - 4 | | - 7 | 8 | 9 - 7 | 8 | - 7 | 8 | - 7 | | 9 - 7 | | 9 - 7 | | - 7 | | - 7 | | - | | -(25 rows) - -SELECT a, b, c -FROM (VALUES (1, 2, 3), (4, NULL, 6), (7, 8, 9)) AS t (a, b, c) -GROUP BY DISTINCT ROLLUP(a, b), rollup(a, c) -ORDER BY a, b, c; - a | b | c ----+---+--- - 1 | 2 | 3 - 1 | 2 | - 1 | | 3 - 1 | | - 4 | | 6 - 4 | | 6 - 4 | | - 4 | | - 7 | 8 | 9 - 7 | 8 | - 7 | | 9 - 7 | | - | | -(13 rows) - -SELECT COUNT(*) FROM pg_stat_statements WHERE query LIKE '%GROUP BY%ROLLUP%'; - count -------- - 2 -(1 row) - --- GROUPING SET agglevelsup -SELECT ( - SELECT ( - SELECT GROUPING(a,b) FROM (VALUES (1)) v2(c) - ) FROM (VALUES (1,2)) v1(a,b) GROUP BY (a,b) -) FROM (VALUES(6,7)) v3(e,f) GROUP BY ROLLUP(e,f); - grouping ----------- - 0 - 0 - 0 -(3 rows) - -SELECT ( - SELECT ( - SELECT GROUPING(e,f) FROM (VALUES (1)) v2(c) - ) FROM (VALUES (1,2)) v1(a,b) GROUP BY (a,b) -) FROM (VALUES(6,7)) v3(e,f) GROUP BY ROLLUP(e,f); - grouping ----------- - 3 - 0 - 1 -(3 rows) - -SELECT COUNT(*) FROM pg_stat_statements WHERE query LIKE '%SELECT GROUPING%'; - count -------- - 2 -(1 row) - -SELECT pg_stat_statements_reset() IS NOT NULL AS t; - t ---- - t -(1 row) - +server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection to server was lost diff -U3 /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/dml.out /tmp/cirrus-ci-build/build/testrun/pg_stat_statements/regress/results/dml.out --- /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/dml.out 2024-03-16 00:05:40.671888096 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pg_stat_statements/regress/results/dml.out 2024-03-16 00:09:55.463697435 +0000 @@ -78,14 +78,29 @@ 1 | 1 | DELETE FROM pgss_dml_tab WHERE a > $1 1 | 3 | INSERT INTO pgss_dml_tab (a, b) VALUES ($1, $2), ($3, $4), ($5, $6) 1 | 10 | INSERT INTO pgss_dml_tab VALUES(generate_series($1, $2), $3) + 1 | 1 | INSERT INTO tbl_inh_1 SELECT $1 + 1 | 2 | SELECT * + + | | FROM limitoption + + | | WHERE val < $1 + + | | ORDER BY val + + | | FETCH FIRST $2 ROW ONLY + 1 | 10 | SELECT * + + | | FROM limitoption + + | | WHERE val < $1 + + | | ORDER BY val + + | | FETCH FIRST $2 ROWS WITH TIES + 1 | 0 | SELECT * FROM ONLY tbl_inh 1 | 12 | SELECT * FROM pgss_dml_tab ORDER BY a 2 | 4 | SELECT * FROM pgss_dml_tab WHERE a > $1 ORDER BY a 1 | 8 | SELECT * FROM pgss_dml_tab WHERE a IN ($1, $2, $3, $4, $5) + 1 | 1 | SELECT * FROM tbl_inh + 2 | 2 | SELECT COUNT(*) FROM pg_stat_statements WHERE query LIKE $1 + 1 | 1 | SELECT dealloc FROM pg_stat_statements_info 1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t 1 | 0 | SET pg_stat_statements.track_utility = FALSE 6 | 6 | UPDATE pgss_dml_tab SET b = $1 WHERE a = $2 1 | 3 | UPDATE pgss_dml_tab SET b = $1 WHERE a > $2 -(10 rows) +(17 rows) SELECT pg_stat_statements_reset() IS NOT NULL AS t; t diff -U3 /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/wal.out /tmp/cirrus-ci-build/build/testrun/pg_stat_statements/regress/results/wal.out --- /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/wal.out 2024-03-16 00:05:40.675888094 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pg_stat_statements/regress/results/wal.out 2024-03-16 00:09:55.971695559 +0000 @@ -3,28 +3,10 @@ -- SET pg_stat_statements.track_utility = FALSE; CREATE TABLE pgss_wal_tab (a int, b char(20)); -INSERT INTO pgss_wal_tab VALUES(generate_series(1, 10), 'aaa'); -UPDATE pgss_wal_tab SET b = 'bbb' WHERE a > 7; -DELETE FROM pgss_wal_tab WHERE a > 9; -DROP TABLE pgss_wal_tab; --- Check WAL is generated for the above statements -SELECT query, calls, rows, -wal_bytes > 0 as wal_bytes_generated, -wal_records > 0 as wal_records_generated, -wal_records >= rows as wal_records_ge_rows -FROM pg_stat_statements ORDER BY query COLLATE "C"; - query | calls | rows | wal_bytes_generated | wal_records_generated | wal_records_ge_rows ---------------------------------------------------------------+-------+------+---------------------+-----------------------+--------------------- - DELETE FROM pgss_wal_tab WHERE a > $1 | 1 | 1 | t | t | t - INSERT INTO pgss_wal_tab VALUES(generate_series($1, $2), $3) | 1 | 10 | t | t | t - SELECT pg_stat_statements_reset() IS NOT NULL AS t | 1 | 1 | f | f | f - SET pg_stat_statements.track_utility = FALSE | 1 | 0 | f | f | t - UPDATE pgss_wal_tab SET b = $1 WHERE a > $2 | 1 | 3 | t | t | t -(5 rows) - -SELECT pg_stat_statements_reset() IS NOT NULL AS t; - t ---- - t -(1 row) - +WARNING: terminating connection because of crash of another server process +DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. +HINT: In a moment you should be able to reconnect to the database and repeat your command. +server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection to server was lost diff -U3 /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/entry_timestamp.out /tmp/cirrus-ci-build/build/testrun/pg_stat_statements/regress/results/entry_timestamp.out --- /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/entry_timestamp.out 2024-03-16 00:05:40.671888096 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pg_stat_statements/regress/results/entry_timestamp.out 2024-03-16 00:09:56.023695367 +0000 @@ -1,159 +1 @@ --- --- statement timestamps --- --- planning time is needed during tests -SET pg_stat_statements.track_planning = TRUE; -SELECT 1 AS "STMTTS1"; - STMTTS1 ---------- - 1 -(1 row) - -SELECT now() AS ref_ts \gset -SELECT 1,2 AS "STMTTS2"; - ?column? | STMTTS2 -----------+--------- - 1 | 2 -(1 row) - -SELECT stats_since >= :'ref_ts', count(*) FROM pg_stat_statements -WHERE query LIKE '%STMTTS%' -GROUP BY stats_since >= :'ref_ts' -ORDER BY stats_since >= :'ref_ts'; - ?column? | count -----------+------- - f | 1 - t | 1 -(2 rows) - -SELECT now() AS ref_ts \gset -SELECT - count(*) as total, - count(*) FILTER ( - WHERE min_plan_time + max_plan_time = 0 - ) as minmax_plan_zero, - count(*) FILTER ( - WHERE min_exec_time + max_exec_time = 0 - ) as minmax_exec_zero, - count(*) FILTER ( - WHERE minmax_stats_since >= :'ref_ts' - ) as minmax_stats_since_after_ref, - count(*) FILTER ( - WHERE stats_since >= :'ref_ts' - ) as stats_since_after_ref -FROM pg_stat_statements -WHERE query LIKE '%STMTTS%'; - total | minmax_plan_zero | minmax_exec_zero | minmax_stats_since_after_ref | stats_since_after_ref --------+------------------+------------------+------------------------------+----------------------- - 2 | 0 | 0 | 0 | 0 -(1 row) - --- Perform single min/max reset -SELECT pg_stat_statements_reset(0, 0, queryid, true) AS minmax_reset_ts -FROM pg_stat_statements -WHERE query LIKE '%STMTTS1%' \gset --- check -SELECT - count(*) as total, - count(*) FILTER ( - WHERE min_plan_time + max_plan_time = 0 - ) as minmax_plan_zero, - count(*) FILTER ( - WHERE min_exec_time + max_exec_time = 0 - ) as minmax_exec_zero, - count(*) FILTER ( - WHERE minmax_stats_since >= :'ref_ts' - ) as minmax_stats_since_after_ref, - count(*) FILTER ( - WHERE stats_since >= :'ref_ts' - ) as stats_since_after_ref -FROM pg_stat_statements -WHERE query LIKE '%STMTTS%'; - total | minmax_plan_zero | minmax_exec_zero | minmax_stats_since_after_ref | stats_since_after_ref --------+------------------+------------------+------------------------------+----------------------- - 2 | 1 | 1 | 1 | 0 -(1 row) - --- check minmax reset timestamps -SELECT -query, minmax_stats_since = :'minmax_reset_ts' AS reset_ts_match -FROM pg_stat_statements -WHERE query LIKE '%STMTTS%' -ORDER BY query COLLATE "C"; - query | reset_ts_match ----------------------------+---------------- - SELECT $1 AS "STMTTS1" | t - SELECT $1,$2 AS "STMTTS2" | f -(2 rows) - --- check that minmax reset does not set stats_reset -SELECT -stats_reset = :'minmax_reset_ts' AS stats_reset_ts_match -FROM pg_stat_statements_info; - stats_reset_ts_match ----------------------- - f -(1 row) - --- Perform common min/max reset -SELECT pg_stat_statements_reset(0, 0, 0, true) AS minmax_reset_ts \gset --- check again -SELECT - count(*) as total, - count(*) FILTER ( - WHERE min_plan_time + max_plan_time = 0 - ) as minmax_plan_zero, - count(*) FILTER ( - WHERE min_exec_time + max_exec_time = 0 - ) as minmax_exec_zero, - count(*) FILTER ( - WHERE minmax_stats_since >= :'ref_ts' - ) as minmax_ts_after_ref, - count(*) FILTER ( - WHERE minmax_stats_since = :'minmax_reset_ts' - ) as minmax_ts_match, - count(*) FILTER ( - WHERE stats_since >= :'ref_ts' - ) as stats_since_after_ref -FROM pg_stat_statements -WHERE query LIKE '%STMTTS%'; - total | minmax_plan_zero | minmax_exec_zero | minmax_ts_after_ref | minmax_ts_match | stats_since_after_ref --------+------------------+------------------+---------------------+-----------------+----------------------- - 2 | 2 | 2 | 2 | 2 | 0 -(1 row) - --- Execute first query once more to check stats update -SELECT 1 AS "STMTTS1"; - STMTTS1 ---------- - 1 -(1 row) - --- check --- we don't check planing times here to be independent of --- plan caching approach -SELECT - count(*) as total, - count(*) FILTER ( - WHERE min_exec_time + max_exec_time = 0 - ) as minmax_exec_zero, - count(*) FILTER ( - WHERE minmax_stats_since >= :'ref_ts' - ) as minmax_ts_after_ref, - count(*) FILTER ( - WHERE stats_since >= :'ref_ts' - ) as stats_since_after_ref -FROM pg_stat_statements -WHERE query LIKE '%STMTTS%'; - total | minmax_exec_zero | minmax_ts_after_ref | stats_since_after_ref --------+------------------+---------------------+----------------------- - 2 | 1 | 2 | 0 -(1 row) - --- Cleanup -SELECT pg_stat_statements_reset() IS NOT NULL AS t; - t ---- - t -(1 row) - +psql: error: connection to server on socket "/tmp/pg_regress-Z9lXbN/.s.PGSQL.40034" failed: FATAL: the database system is in recovery mode diff -U3 /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/cleanup.out /tmp/cirrus-ci-build/build/testrun/pg_stat_statements/regress/results/cleanup.out --- /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/cleanup.out 2024-03-16 00:05:40.671888096 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pg_stat_statements/regress/results/cleanup.out 2024-03-16 00:09:56.055695249 +0000 @@ -1 +1,2 @@ -DROP EXTENSION pg_stat_statements; +psql: error: connection to server on socket "/tmp/pg_regress-Z9lXbN/.s.PGSQL.40034" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/oldextversions.out /tmp/cirrus-ci-build/build/testrun/pg_stat_statements/regress/results/oldextversions.out --- /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/oldextversions.out 2024-03-16 00:05:40.675888094 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pg_stat_statements/regress/results/oldextversions.out 2024-03-16 00:09:56.111695042 +0000 @@ -1,5 +1,6 @@ -- test old extension version entry points CREATE EXTENSION pg_stat_statements WITH VERSION '1.4'; +ERROR: extension "pg_stat_statements" already exists -- Execution of pg_stat_statements_reset() is granted only to -- superusers in 1.4, so this fails. SET SESSION AUTHORIZATION pg_read_all_stats; @@ -7,84 +8,109 @@ ERROR: permission denied for function pg_stat_statements_reset RESET SESSION AUTHORIZATION; AlTER EXTENSION pg_stat_statements UPDATE TO '1.5'; +ERROR: extension "pg_stat_statements" has no update path from version "1.11" to version "1.5" -- Execution of pg_stat_statements_reset() should be granted to -- pg_read_all_stats now, so this works. SET SESSION AUTHORIZATION pg_read_all_stats; SELECT pg_stat_statements_reset(); - pg_stat_statements_reset --------------------------- - -(1 row) - +ERROR: permission denied for function pg_stat_statements_reset RESET SESSION AUTHORIZATION; -- In 1.6, it got restricted back to superusers. AlTER EXTENSION pg_stat_statements UPDATE TO '1.6'; +ERROR: extension "pg_stat_statements" has no update path from version "1.11" to version "1.6" SET SESSION AUTHORIZATION pg_read_all_stats; SELECT pg_stat_statements_reset(); ERROR: permission denied for function pg_stat_statements_reset RESET SESSION AUTHORIZATION; SELECT pg_get_functiondef('pg_stat_statements_reset'::regproc); - pg_get_functiondef -------------------------------------------------------------------------------- - CREATE OR REPLACE FUNCTION public.pg_stat_statements_reset() + - RETURNS void + - LANGUAGE c + - PARALLEL SAFE + - AS '$libdir/pg_stat_statements', $function$pg_stat_statements_reset$function$+ + pg_get_functiondef +------------------------------------------------------------------------------------------------------------------------------------------------------------------- + CREATE OR REPLACE FUNCTION public.pg_stat_statements_reset(userid oid DEFAULT 0, dbid oid DEFAULT 0, queryid bigint DEFAULT 0, minmax_only boolean DEFAULT false)+ + RETURNS timestamp with time zone + + LANGUAGE c + + PARALLEL SAFE STRICT + + AS '$libdir/pg_stat_statements', $function$pg_stat_statements_reset_1_11$function$ + (1 row) -- New function for pg_stat_statements_reset introduced, still -- restricted for non-superusers. AlTER EXTENSION pg_stat_statements UPDATE TO '1.7'; +ERROR: extension "pg_stat_statements" has no update path from version "1.11" to version "1.7" SET SESSION AUTHORIZATION pg_read_all_stats; SELECT pg_stat_statements_reset(); ERROR: permission denied for function pg_stat_statements_reset RESET SESSION AUTHORIZATION; SELECT pg_get_functiondef('pg_stat_statements_reset'::regproc); - pg_get_functiondef --------------------------------------------------------------------------------------------------------------------------------- - CREATE OR REPLACE FUNCTION public.pg_stat_statements_reset(userid oid DEFAULT 0, dbid oid DEFAULT 0, queryid bigint DEFAULT 0)+ - RETURNS void + - LANGUAGE c + - PARALLEL SAFE STRICT + - AS '$libdir/pg_stat_statements', $function$pg_stat_statements_reset_1_7$function$ + + pg_get_functiondef +------------------------------------------------------------------------------------------------------------------------------------------------------------------- + CREATE OR REPLACE FUNCTION public.pg_stat_statements_reset(userid oid DEFAULT 0, dbid oid DEFAULT 0, queryid bigint DEFAULT 0, minmax_only boolean DEFAULT false)+ + RETURNS timestamp with time zone + + LANGUAGE c + + PARALLEL SAFE STRICT + + AS '$libdir/pg_stat_statements', $function$pg_stat_statements_reset_1_11$function$ + (1 row) SELECT pg_stat_statements_reset(); - pg_stat_statements_reset --------------------------- - + pg_stat_statements_reset +------------------------------------- + Fri Mar 15 17:09:56.090082 2024 PDT (1 row) \d pg_stat_statements - View "public.pg_stat_statements" - Column | Type | Collation | Nullable | Default ----------------------+------------------+-----------+----------+--------- - userid | oid | | | - dbid | oid | | | - queryid | bigint | | | - query | text | | | - calls | bigint | | | - total_time | double precision | | | - min_time | double precision | | | - max_time | double precision | | | - mean_time | double precision | | | - stddev_time | double precision | | | - rows | bigint | | | - shared_blks_hit | bigint | | | - shared_blks_read | bigint | | | - shared_blks_dirtied | bigint | | | - shared_blks_written | bigint | | | - local_blks_hit | bigint | | | - local_blks_read | bigint | | | - local_blks_dirtied | bigint | | | - local_blks_written | bigint | | | - temp_blks_read | bigint | | | - temp_blks_written | bigint | | | - blk_read_time | double precision | | | - blk_write_time | double precision | | | + View "public.pg_stat_statements" + Column | Type | Collation | Nullable | Default +------------------------+--------------------------+-----------+----------+--------- + userid | oid | | | + dbid | oid | | | + toplevel | boolean | | | + queryid | bigint | | | + query | text | | | + plans | bigint | | | + total_plan_time | double precision | | | + min_plan_time | double precision | | | + max_plan_time | double precision | | | + mean_plan_time | double precision | | | + stddev_plan_time | double precision | | | + calls | bigint | | | + total_exec_time | double precision | | | + min_exec_time | double precision | | | + max_exec_time | double precision | | | + mean_exec_time | double precision | | | + stddev_exec_time | double precision | | | + rows | bigint | | | + shared_blks_hit | bigint | | | + shared_blks_read | bigint | | | + shared_blks_dirtied | bigint | | | + shared_blks_written | bigint | | | + local_blks_hit | bigint | | | + local_blks_read | bigint | | | + local_blks_dirtied | bigint | | | + local_blks_written | bigint | | | + temp_blks_read | bigint | | | + temp_blks_written | bigint | | | + shared_blk_read_time | double precision | | | + shared_blk_write_time | double precision | | | + local_blk_read_time | double precision | | | + local_blk_write_time | double precision | | | + temp_blk_read_time | double precision | | | + temp_blk_write_time | double precision | | | + wal_records | bigint | | | + wal_fpi | bigint | | | + wal_bytes | numeric | | | + jit_functions | bigint | | | + jit_generation_time | double precision | | | + jit_inlining_count | bigint | | | + jit_inlining_time | double precision | | | + jit_optimization_count | bigint | | | + jit_optimization_time | double precision | | | + jit_emission_count | bigint | | | + jit_emission_time | double precision | | | + jit_deform_count | bigint | | | + jit_deform_time | double precision | | | + stats_since | timestamp with time zone | | | + minmax_stats_since | timestamp with time zone | | | SELECT count(*) > 0 AS has_data FROM pg_stat_statements; has_data @@ -94,53 +120,71 @@ -- New functions and views for pg_stat_statements in 1.8 AlTER EXTENSION pg_stat_statements UPDATE TO '1.8'; +ERROR: extension "pg_stat_statements" has no update path from version "1.11" to version "1.8" SELECT pg_get_functiondef('pg_stat_statements_reset'::regproc); - pg_get_functiondef --------------------------------------------------------------------------------------------------------------------------------- - CREATE OR REPLACE FUNCTION public.pg_stat_statements_reset(userid oid DEFAULT 0, dbid oid DEFAULT 0, queryid bigint DEFAULT 0)+ - RETURNS void + - LANGUAGE c + - PARALLEL SAFE STRICT + - AS '$libdir/pg_stat_statements', $function$pg_stat_statements_reset_1_7$function$ + + pg_get_functiondef +------------------------------------------------------------------------------------------------------------------------------------------------------------------- + CREATE OR REPLACE FUNCTION public.pg_stat_statements_reset(userid oid DEFAULT 0, dbid oid DEFAULT 0, queryid bigint DEFAULT 0, minmax_only boolean DEFAULT false)+ + RETURNS timestamp with time zone + + LANGUAGE c + + PARALLEL SAFE STRICT + + AS '$libdir/pg_stat_statements', $function$pg_stat_statements_reset_1_11$function$ + (1 row) \d pg_stat_statements - View "public.pg_stat_statements" - Column | Type | Collation | Nullable | Default ----------------------+------------------+-----------+----------+--------- - userid | oid | | | - dbid | oid | | | - queryid | bigint | | | - query | text | | | - plans | bigint | | | - total_plan_time | double precision | | | - min_plan_time | double precision | | | - max_plan_time | double precision | | | - mean_plan_time | double precision | | | - stddev_plan_time | double precision | | | - calls | bigint | | | - total_exec_time | double precision | | | - min_exec_time | double precision | | | - max_exec_time | double precision | | | - mean_exec_time | double precision | | | - stddev_exec_time | double precision | | | - rows | bigint | | | - shared_blks_hit | bigint | | | - shared_blks_read | bigint | | | - shared_blks_dirtied | bigint | | | - shared_blks_written | bigint | | | - local_blks_hit | bigint | | | - local_blks_read | bigint | | | - local_blks_dirtied | bigint | | | - local_blks_written | bigint | | | - temp_blks_read | bigint | | | - temp_blks_written | bigint | | | - blk_read_time | double precision | | | - blk_write_time | double precision | | | - wal_records | bigint | | | - wal_fpi | bigint | | | - wal_bytes | numeric | | | + View "public.pg_stat_statements" + Column | Type | Collation | Nullable | Default +------------------------+--------------------------+-----------+----------+--------- + userid | oid | | | + dbid | oid | | | + toplevel | boolean | | | + queryid | bigint | | | + query | text | | | + plans | bigint | | | + total_plan_time | double precision | | | + min_plan_time | double precision | | | + max_plan_time | double precision | | | + mean_plan_time | double precision | | | + stddev_plan_time | double precision | | | + calls | bigint | | | + total_exec_time | double precision | | | + min_exec_time | double precision | | | + max_exec_time | double precision | | | + mean_exec_time | double precision | | | + stddev_exec_time | double precision | | | + rows | bigint | | | + shared_blks_hit | bigint | | | + shared_blks_read | bigint | | | + shared_blks_dirtied | bigint | | | + shared_blks_written | bigint | | | + local_blks_hit | bigint | | | + local_blks_read | bigint | | | + local_blks_dirtied | bigint | | | + local_blks_written | bigint | | | + temp_blks_read | bigint | | | + temp_blks_written | bigint | | | + shared_blk_read_time | double precision | | | + shared_blk_write_time | double precision | | | + local_blk_read_time | double precision | | | + local_blk_write_time | double precision | | | + temp_blk_read_time | double precision | | | + temp_blk_write_time | double precision | | | + wal_records | bigint | | | + wal_fpi | bigint | | | + wal_bytes | numeric | | | + jit_functions | bigint | | | + jit_generation_time | double precision | | | + jit_inlining_count | bigint | | | + jit_inlining_time | double precision | | | + jit_optimization_count | bigint | | | + jit_optimization_time | double precision | | | + jit_emission_count | bigint | | | + jit_emission_time | double precision | | | + jit_deform_count | bigint | | | + jit_deform_time | double precision | | | + stats_since | timestamp with time zone | | | + minmax_stats_since | timestamp with time zone | | | SELECT count(*) > 0 AS has_data FROM pg_stat_statements; has_data @@ -151,6 +195,7 @@ -- New function pg_stat_statement_info, and new function -- and view for pg_stat_statements introduced in 1.9 AlTER EXTENSION pg_stat_statements UPDATE TO '1.9'; +ERROR: extension "pg_stat_statements" has no update path from version "1.11" to version "1.9" SELECT pg_get_functiondef('pg_stat_statements_info'::regproc); pg_get_functiondef ------------------------------------------------------------------------------------------------------------------------- @@ -163,42 +208,58 @@ (1 row) \d pg_stat_statements - View "public.pg_stat_statements" - Column | Type | Collation | Nullable | Default ----------------------+------------------+-----------+----------+--------- - userid | oid | | | - dbid | oid | | | - toplevel | boolean | | | - queryid | bigint | | | - query | text | | | - plans | bigint | | | - total_plan_time | double precision | | | - min_plan_time | double precision | | | - max_plan_time | double precision | | | - mean_plan_time | double precision | | | - stddev_plan_time | double precision | | | - calls | bigint | | | - total_exec_time | double precision | | | - min_exec_time | double precision | | | - max_exec_time | double precision | | | - mean_exec_time | double precision | | | - stddev_exec_time | double precision | | | - rows | bigint | | | - shared_blks_hit | bigint | | | - shared_blks_read | bigint | | | - shared_blks_dirtied | bigint | | | - shared_blks_written | bigint | | | - local_blks_hit | bigint | | | - local_blks_read | bigint | | | - local_blks_dirtied | bigint | | | - local_blks_written | bigint | | | - temp_blks_read | bigint | | | - temp_blks_written | bigint | | | - blk_read_time | double precision | | | - blk_write_time | double precision | | | - wal_records | bigint | | | - wal_fpi | bigint | | | - wal_bytes | numeric | | | + View "public.pg_stat_statements" + Column | Type | Collation | Nullable | Default +------------------------+--------------------------+-----------+----------+--------- + userid | oid | | | + dbid | oid | | | + toplevel | boolean | | | + queryid | bigint | | | + query | text | | | + plans | bigint | | | + total_plan_time | double precision | | | + min_plan_time | double precision | | | + max_plan_time | double precision | | | + mean_plan_time | double precision | | | + stddev_plan_time | double precision | | | + calls | bigint | | | + total_exec_time | double precision | | | + min_exec_time | double precision | | | + max_exec_time | double precision | | | + mean_exec_time | double precision | | | + stddev_exec_time | double precision | | | + rows | bigint | | | + shared_blks_hit | bigint | | | + shared_blks_read | bigint | | | + shared_blks_dirtied | bigint | | | + shared_blks_written | bigint | | | + local_blks_hit | bigint | | | + local_blks_read | bigint | | | + local_blks_dirtied | bigint | | | + local_blks_written | bigint | | | + temp_blks_read | bigint | | | + temp_blks_written | bigint | | | + shared_blk_read_time | double precision | | | + shared_blk_write_time | double precision | | | + local_blk_read_time | double precision | | | + local_blk_write_time | double precision | | | + temp_blk_read_time | double precision | | | + temp_blk_write_time | double precision | | | + wal_records | bigint | | | + wal_fpi | bigint | | | + wal_bytes | numeric | | | + jit_functions | bigint | | | + jit_generation_time | double precision | | | + jit_inlining_count | bigint | | | + jit_inlining_time | double precision | | | + jit_optimization_count | bigint | | | + jit_optimization_time | double precision | | | + jit_emission_count | bigint | | | + jit_emission_time | double precision | | | + jit_deform_count | bigint | | | + jit_deform_time | double precision | | | + stats_since | timestamp with time zone | | | + minmax_stats_since | timestamp with time zone | | | SELECT count(*) > 0 AS has_data FROM pg_stat_statements; has_data @@ -208,53 +269,60 @@ -- New functions and views for pg_stat_statements in 1.10 AlTER EXTENSION pg_stat_statements UPDATE TO '1.10'; +ERROR: extension "pg_stat_statements" has no update path from version "1.11" to version "1.10" \d pg_stat_statements - View "public.pg_stat_statements" - Column | Type | Collation | Nullable | Default -------------------------+------------------+-----------+----------+--------- - userid | oid | | | - dbid | oid | | | - toplevel | boolean | | | - queryid | bigint | | | - query | text | | | - plans | bigint | | | - total_plan_time | double precision | | | - min_plan_time | double precision | | | - max_plan_time | double precision | | | - mean_plan_time | double precision | | | - stddev_plan_time | double precision | | | - calls | bigint | | | - total_exec_time | double precision | | | - min_exec_time | double precision | | | - max_exec_time | double precision | | | - mean_exec_time | double precision | | | - stddev_exec_time | double precision | | | - rows | bigint | | | - shared_blks_hit | bigint | | | - shared_blks_read | bigint | | | - shared_blks_dirtied | bigint | | | - shared_blks_written | bigint | | | - local_blks_hit | bigint | | | - local_blks_read | bigint | | | - local_blks_dirtied | bigint | | | - local_blks_written | bigint | | | - temp_blks_read | bigint | | | - temp_blks_written | bigint | | | - blk_read_time | double precision | | | - blk_write_time | double precision | | | - temp_blk_read_time | double precision | | | - temp_blk_write_time | double precision | | | - wal_records | bigint | | | - wal_fpi | bigint | | | - wal_bytes | numeric | | | - jit_functions | bigint | | | - jit_generation_time | double precision | | | - jit_inlining_count | bigint | | | - jit_inlining_time | double precision | | | - jit_optimization_count | bigint | | | - jit_optimization_time | double precision | | | - jit_emission_count | bigint | | | - jit_emission_time | double precision | | | + View "public.pg_stat_statements" + Column | Type | Collation | Nullable | Default +------------------------+--------------------------+-----------+----------+--------- + userid | oid | | | + dbid | oid | | | + toplevel | boolean | | | + queryid | bigint | | | + query | text | | | + plans | bigint | | | + total_plan_time | double precision | | | + min_plan_time | double precision | | | + max_plan_time | double precision | | | + mean_plan_time | double precision | | | + stddev_plan_time | double precision | | | + calls | bigint | | | + total_exec_time | double precision | | | + min_exec_time | double precision | | | + max_exec_time | double precision | | | + mean_exec_time | double precision | | | + stddev_exec_time | double precision | | | + rows | bigint | | | + shared_blks_hit | bigint | | | + shared_blks_read | bigint | | | + shared_blks_dirtied | bigint | | | + shared_blks_written | bigint | | | + local_blks_hit | bigint | | | + local_blks_read | bigint | | | + local_blks_dirtied | bigint | | | + local_blks_written | bigint | | | + temp_blks_read | bigint | | | + temp_blks_written | bigint | | | + shared_blk_read_time | double precision | | | + shared_blk_write_time | double precision | | | + local_blk_read_time | double precision | | | + local_blk_write_time | double precision | | | + temp_blk_read_time | double precision | | | + temp_blk_write_time | double precision | | | + wal_records | bigint | | | + wal_fpi | bigint | | | + wal_bytes | numeric | | | + jit_functions | bigint | | | + jit_generation_time | double precision | | | + jit_inlining_count | bigint | | | + jit_inlining_time | double precision | | | + jit_optimization_count | bigint | | | + jit_optimization_time | double precision | | | + jit_emission_count | bigint | | | + jit_emission_time | double precision | | | + jit_deform_count | bigint | | | + jit_deform_time | double precision | | | + stats_since | timestamp with time zone | | | + minmax_stats_since | timestamp with time zone | | | SELECT count(*) > 0 AS has_data FROM pg_stat_statements; has_data @@ -264,6 +332,7 @@ -- New functions and views for pg_stat_statements in 1.11 AlTER EXTENSION pg_stat_statements UPDATE TO '1.11'; +NOTICE: version "1.11" of extension "pg_stat_statements" is already installed \d pg_stat_statements View "public.pg_stat_statements" Column | Type | Collation | Nullable | Default