mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-18 05:20:04 +02:00
54 lines
1.4 KiB
Perl
54 lines
1.4 KiB
Perl
|
# Copyright (c) 2023, PostgreSQL Global Development Group
|
||
|
|
||
|
# Tests for checking that pg_stat_statements contents are preserved
|
||
|
# across restarts.
|
||
|
|
||
|
use strict;
|
||
|
use warnings;
|
||
|
use PostgreSQL::Test::Cluster;
|
||
|
use PostgreSQL::Test::Utils;
|
||
|
use Test::More;
|
||
|
|
||
|
my $node = PostgreSQL::Test::Cluster->new('main');
|
||
|
$node->init;
|
||
|
$node->append_conf('postgresql.conf',
|
||
|
"shared_preload_libraries = 'pg_stat_statements'");
|
||
|
$node->start;
|
||
|
|
||
|
$node->safe_psql('postgres', 'CREATE EXTENSION pg_stat_statements');
|
||
|
|
||
|
$node->safe_psql('postgres', 'CREATE TABLE t1 (a int)');
|
||
|
$node->safe_psql('postgres', 'SELECT a FROM t1');
|
||
|
|
||
|
is( $node->safe_psql(
|
||
|
'postgres',
|
||
|
"SELECT query FROM pg_stat_statements WHERE query NOT LIKE '%pg_stat_statements%' ORDER BY query"
|
||
|
),
|
||
|
"CREATE TABLE t1 (a int)\nSELECT a FROM t1",
|
||
|
'pg_stat_statements populated');
|
||
|
|
||
|
$node->restart;
|
||
|
|
||
|
is( $node->safe_psql(
|
||
|
'postgres',
|
||
|
"SELECT query FROM pg_stat_statements WHERE query NOT LIKE '%pg_stat_statements%' ORDER BY query"
|
||
|
),
|
||
|
"CREATE TABLE t1 (a int)\nSELECT a FROM t1",
|
||
|
'pg_stat_statements data kept across restart');
|
||
|
|
||
|
$node->append_conf('postgresql.conf', "pg_stat_statements.save = false");
|
||
|
$node->reload;
|
||
|
|
||
|
$node->restart;
|
||
|
|
||
|
is( $node->safe_psql(
|
||
|
'postgres',
|
||
|
"SELECT count(*) FROM pg_stat_statements WHERE query NOT LIKE '%pg_stat_statements%'"
|
||
|
),
|
||
|
'0',
|
||
|
'pg_stat_statements data not kept across restart with .save=false');
|
||
|
|
||
|
$node->stop;
|
||
|
|
||
|
done_testing();
|