mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-12 18:34:36 +08:00
2b0da0365b
When the newest version is loaded, the backend would load objects from the oldest complete SQL file (here 1.4) and then update to the latest version with transition scripts (up to 1.9 currently). This provides some coverage for upgrades of pg_stat_statements, but there is no test to show how things have changed across each version. This adds a couple of tests for the upgrade paths using objects from each version supported, stressing the objects whose behaviors have changed across each version supported. Author: Erica Zhang Reviewed-by: Julien Rouhaud, Michael Paquier Discussion: https://postgr.es/m/tencent_BBA974AFF61379F2345E782FD6C55891950A@qq.com
40 lines
1.4 KiB
SQL
40 lines
1.4 KiB
SQL
-- test old extension version entry points
|
|
|
|
CREATE EXTENSION pg_stat_statements WITH VERSION '1.4';
|
|
-- Execution of pg_stat_statements_reset() is granted only to
|
|
-- superusers in 1.4, so this fails.
|
|
SET SESSION AUTHORIZATION pg_read_all_stats;
|
|
SELECT pg_stat_statements_reset();
|
|
RESET SESSION AUTHORIZATION;
|
|
|
|
AlTER EXTENSION pg_stat_statements UPDATE TO '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();
|
|
RESET SESSION AUTHORIZATION;
|
|
|
|
-- In 1.6, it got restricted back to superusers.
|
|
AlTER EXTENSION pg_stat_statements UPDATE TO '1.6';
|
|
SET SESSION AUTHORIZATION pg_read_all_stats;
|
|
SELECT pg_stat_statements_reset();
|
|
RESET SESSION AUTHORIZATION;
|
|
SELECT pg_get_functiondef('pg_stat_statements_reset'::regproc);
|
|
|
|
-- New function for pg_stat_statements_reset introduced, still
|
|
-- restricted for non-superusers.
|
|
AlTER EXTENSION pg_stat_statements UPDATE TO '1.7';
|
|
SET SESSION AUTHORIZATION pg_read_all_stats;
|
|
SELECT pg_stat_statements_reset();
|
|
RESET SESSION AUTHORIZATION;
|
|
SELECT pg_get_functiondef('pg_stat_statements_reset'::regproc);
|
|
\d pg_stat_statements
|
|
SELECT count(*) > 0 AS has_data FROM pg_stat_statements;
|
|
|
|
-- New functions and views for pg_stat_statements in 1.8
|
|
AlTER EXTENSION pg_stat_statements UPDATE TO '1.8';
|
|
\d pg_stat_statements
|
|
SELECT pg_get_functiondef('pg_stat_statements_reset'::regproc);
|
|
|
|
DROP EXTENSION pg_stat_statements;
|