summaryrefslogtreecommitdiff
path: root/contrib/pg_stat_statements/sql/wal.sql
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2023-03-03 08:46:11 +0900
committerMichael Paquier <michael@paquier.xyz>2023-03-03 08:46:11 +0900
commitd0028e35a05ac71aebf28325c8ddb59a27cb63c0 (patch)
tree4397df3830406a1f7a0a38c499aadf681a69b09d /contrib/pg_stat_statements/sql/wal.sql
parent98a88bc2bcd60e41ca70e2f1e13eee827e23eefb (diff)
downloadpostgresql-d0028e35a05ac71aebf28325c8ddb59a27cb63c0.tar.gz
Refactor more the regression tests of pg_stat_statements
This commit expands more the refactoring of the regression tests of pg_stat_statements, with tests moved out of pg_stat_statements.sql into separate files. The following file structure is now used: - select is mostly the former pg_stat_statements.sql, renamed. - dml for INSERT/UPDATE/DELETE and MERGE - user_activity, to test role-level checks and stat resets. - wal, to check the WAL generation after some queries. Like e8dbdb1, there is no change in terms of code coverage or results, and this finishes the split I was aiming for in these tests. Most of the tests used "test" of "pgss_test" as names for the tables used, these are renamed to less generic names. Reviewed-by: Bertrand Drouvot Discussion: https://postgr.es/m/Y/7Y9U/y/keAW3qH@paquier.xyz
Diffstat (limited to 'contrib/pg_stat_statements/sql/wal.sql')
-rw-r--r--contrib/pg_stat_statements/sql/wal.sql20
1 files changed, 20 insertions, 0 deletions
diff --git a/contrib/pg_stat_statements/sql/wal.sql b/contrib/pg_stat_statements/sql/wal.sql
new file mode 100644
index 0000000000..34b21c0fa9
--- /dev/null
+++ b/contrib/pg_stat_statements/sql/wal.sql
@@ -0,0 +1,20 @@
+--
+-- Validate WAL generation metrics
+--
+
+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";
+SELECT pg_stat_statements_reset();