commit 0f8ce0be5af0a03c80a6b9e3e89519029e66359b Author: Erica Zhang Date: Tue Mar 9 03:06:36 2021 +0000 Add some tests for pg_stat_statements compatibility verification diff --git a/contrib/pg_stat_statements/expected/pg_stat_statements.out b/contrib/pg_stat_statements/expected/pg_stat_statements.out index 16158525ca..12ee506015 100644 --- a/contrib/pg_stat_statements/expected/pg_stat_statements.out +++ b/contrib/pg_stat_statements/expected/pg_stat_statements.out @@ -877,3 +877,137 @@ SELECT dealloc FROM pg_stat_statements_info; (1 row) DROP EXTENSION pg_stat_statements; +-- +-- Verify compatible with older versions. +-- Currently the lowest version supported is 1.4. +-- +CREATE EXTENSION pg_stat_statements with version '1.4'; +SELECT installed_version = default_version, installed_version FROM pg_available_extensions WHERE name = 'pg_stat_statements'; + ?column? | installed_version +----------+------------------- + f | 1.4 +(1 row) + +SELECT pg_stat_statements_reset(); + pg_stat_statements_reset +-------------------------- + +(1 row) + +SELECT count(query) FROM pg_stat_statements; + count +------- + 2 +(1 row) + +--- +--- Install pg_stat_statements extension version 1.5 +--- +AlTER EXTENSION pg_stat_statements update to '1.5'; +SELECT installed_version = default_version, installed_version FROM pg_available_extensions WHERE name = 'pg_stat_statements'; + ?column? | installed_version +----------+------------------- + f | 1.5 +(1 row) + +SELECT pg_stat_statements_reset(); + pg_stat_statements_reset +-------------------------- + +(1 row) + +SELECT count(query) FROM pg_stat_statements; + count +------- + 2 +(1 row) + +--- +--- Install pg_stat_statements extension version 1.6 +--- +AlTER EXTENSION pg_stat_statements update to '1.6'; +SELECT installed_version = default_version, installed_version FROM pg_available_extensions WHERE name = 'pg_stat_statements'; + ?column? | installed_version +----------+------------------- + f | 1.6 +(1 row) + +SELECT pg_stat_statements_reset(); + pg_stat_statements_reset +-------------------------- + +(1 row) + +SELECT count(query) FROM pg_stat_statements; + count +------- + 2 +(1 row) + +--- +--- Install pg_stat_statements extension version 1.7 +--- +AlTER EXTENSION pg_stat_statements update to '1.7'; +SELECT installed_version = default_version, installed_version FROM pg_available_extensions WHERE name = 'pg_stat_statements'; + ?column? | installed_version +----------+------------------- + f | 1.7 +(1 row) + +SELECT pg_stat_statements_reset(); + pg_stat_statements_reset +-------------------------- + +(1 row) + +SELECT count(query) FROM pg_stat_statements; + count +------- + 2 +(1 row) + +--- +--- Install pg_stat_statements extension version 1.8 +--- +AlTER EXTENSION pg_stat_statements update to '1.8'; +SELECT installed_version = default_version, installed_version FROM pg_available_extensions WHERE name = 'pg_stat_statements'; + ?column? | installed_version +----------+------------------- + f | 1.8 +(1 row) + +SELECT pg_stat_statements_reset(); + pg_stat_statements_reset +-------------------------- + +(1 row) + +SELECT count(plans) FROM pg_stat_statements; + count +------- + 2 +(1 row) + +--- +--- Install pg_stat_statements extension to 1.9 +--- +AlTER EXTENSION pg_stat_statements update to '1.9'; +SELECT installed_version = default_version, installed_version FROM pg_available_extensions WHERE name = 'pg_stat_statements'; + ?column? | installed_version +----------+------------------- + t | 1.9 +(1 row) + +SELECT pg_stat_statements_reset(); + pg_stat_statements_reset +-------------------------- + +(1 row) + +SELECT dealloc FROM pg_stat_statements_info; + dealloc +--------- + 0 +(1 row) + +DROP EXTENSION pg_stat_statements; diff --git a/contrib/pg_stat_statements/sql/pg_stat_statements.sql b/contrib/pg_stat_statements/sql/pg_stat_statements.sql index 6f58d9d0f6..a7ce74a18a 100644 --- a/contrib/pg_stat_statements/sql/pg_stat_statements.sql +++ b/contrib/pg_stat_statements/sql/pg_stat_statements.sql @@ -365,3 +365,54 @@ SELECT pg_stat_statements_reset(); SELECT dealloc FROM pg_stat_statements_info; DROP EXTENSION pg_stat_statements; + +-- +-- Verify compatible with older versions. +-- Currently the lowest version supported is 1.4. +-- +CREATE EXTENSION pg_stat_statements with version '1.4'; +SELECT installed_version = default_version, installed_version FROM pg_available_extensions WHERE name = 'pg_stat_statements'; +SELECT pg_stat_statements_reset(); +SELECT count(query) FROM pg_stat_statements; + +--- +--- Install pg_stat_statements extension version 1.5 +--- +AlTER EXTENSION pg_stat_statements update to '1.5'; +SELECT installed_version = default_version, installed_version FROM pg_available_extensions WHERE name = 'pg_stat_statements'; +SELECT pg_stat_statements_reset(); +SELECT count(query) FROM pg_stat_statements; + +--- +--- Install pg_stat_statements extension version 1.6 +--- +AlTER EXTENSION pg_stat_statements update to '1.6'; +SELECT installed_version = default_version, installed_version FROM pg_available_extensions WHERE name = 'pg_stat_statements'; +SELECT pg_stat_statements_reset(); +SELECT count(query) FROM pg_stat_statements; + +--- +--- Install pg_stat_statements extension version 1.7 +--- +AlTER EXTENSION pg_stat_statements update to '1.7'; +SELECT installed_version = default_version, installed_version FROM pg_available_extensions WHERE name = 'pg_stat_statements'; +SELECT pg_stat_statements_reset(); +SELECT count(query) FROM pg_stat_statements; + +--- +--- Install pg_stat_statements extension version 1.8 +--- +AlTER EXTENSION pg_stat_statements update to '1.8'; +SELECT installed_version = default_version, installed_version FROM pg_available_extensions WHERE name = 'pg_stat_statements'; +SELECT pg_stat_statements_reset(); +SELECT count(plans) FROM pg_stat_statements; + +--- +--- Install pg_stat_statements extension to 1.9 +--- +AlTER EXTENSION pg_stat_statements update to '1.9'; +SELECT installed_version = default_version, installed_version FROM pg_available_extensions WHERE name = 'pg_stat_statements'; +SELECT pg_stat_statements_reset(); +SELECT dealloc FROM pg_stat_statements_info; + +DROP EXTENSION pg_stat_statements;