Merge remote-tracking branch 'origin/main' into license-headers
commit
bc7781d23a
|
@ -44,12 +44,19 @@ jobs:
|
||||||
https://repo.percona.com/apt/percona-release_latest.generic_all.deb
|
https://repo.percona.com/apt/percona-release_latest.generic_all.deb
|
||||||
sudo dpkg -i percona-release_latest.generic_all.deb
|
sudo dpkg -i percona-release_latest.generic_all.deb
|
||||||
|
|
||||||
- name: Install Percona Distribution Postgresql 12
|
- name: Install Percona Distribution Postgresql 12 & Extensions
|
||||||
run: |
|
run: |
|
||||||
sudo percona-release setup ppg-12
|
sudo percona-release setup ppg-12
|
||||||
sudo apt-get update -y
|
sudo apt-get update -y
|
||||||
sudo apt-get install -y percona-postgresql-12 \
|
sudo apt-get install -y percona-postgresql-12 \
|
||||||
percona-postgresql-contrib percona-postgresql-server-dev-all
|
percona-postgresql-contrib percona-postgresql-server-dev-all \
|
||||||
|
percona-pgpool2 libpgpool2 percona-postgresql-12-pgaudit \
|
||||||
|
percona-postgresql-12-pgaudit-dbgsym percona-postgresql-12-repack \
|
||||||
|
percona-postgresql-12-repack-dbgsym percona-pgaudit12-set-user \
|
||||||
|
percona-pgaudit12-set-user-dbgsym percona-postgresql-12-postgis-3 \
|
||||||
|
percona-postgresql-12-postgis-3-scripts \
|
||||||
|
percona-postgresql-postgis-scripts percona-postgresql-postgis \
|
||||||
|
percona-postgis
|
||||||
|
|
||||||
- name: Change src owner to postgres
|
- name: Change src owner to postgres
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -41,12 +41,19 @@ jobs:
|
||||||
https://repo.percona.com/apt/percona-release_latest.generic_all.deb
|
https://repo.percona.com/apt/percona-release_latest.generic_all.deb
|
||||||
sudo dpkg -i percona-release_latest.generic_all.deb
|
sudo dpkg -i percona-release_latest.generic_all.deb
|
||||||
|
|
||||||
- name: Install Percona Distribution Postgresql 13
|
- name: Install Percona Distribution Postgresql 13 & Extensions
|
||||||
run: |
|
run: |
|
||||||
sudo percona-release setup ppg-13
|
sudo percona-release setup ppg-13
|
||||||
sudo apt-get update -y
|
sudo apt-get update -y
|
||||||
sudo apt-get install -y percona-postgresql-13 \
|
sudo apt-get install -y percona-postgresql-13 \
|
||||||
percona-postgresql-contrib percona-postgresql-server-dev-all
|
percona-postgresql-contrib percona-postgresql-server-dev-all \
|
||||||
|
percona-pgpool2 libpgpool2 percona-postgresql-13-pgaudit \
|
||||||
|
percona-postgresql-13-pgaudit-dbgsym percona-postgresql-13-repack \
|
||||||
|
percona-postgresql-13-repack-dbgsym percona-pgaudit13-set-user \
|
||||||
|
percona-pgaudit13-set-user-dbgsym percona-postgresql-13-postgis-3 \
|
||||||
|
percona-postgresql-13-postgis-3-scripts \
|
||||||
|
percona-postgresql-postgis-scripts percona-postgresql-postgis \
|
||||||
|
percona-postgis
|
||||||
|
|
||||||
- name: Change src owner to postgres
|
- name: Change src owner to postgres
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -41,12 +41,19 @@ jobs:
|
||||||
https://repo.percona.com/apt/percona-release_latest.generic_all.deb
|
https://repo.percona.com/apt/percona-release_latest.generic_all.deb
|
||||||
sudo dpkg -i percona-release_latest.generic_all.deb
|
sudo dpkg -i percona-release_latest.generic_all.deb
|
||||||
|
|
||||||
- name: Install Percona Distribution Postgresql 14
|
- name: Install Percona Distribution Postgresql 14 & Extensions
|
||||||
run: |
|
run: |
|
||||||
sudo percona-release setup ppg-14
|
sudo percona-release setup ppg-14
|
||||||
sudo apt-get update -y
|
sudo apt-get update -y
|
||||||
sudo apt-get install -y percona-postgresql-14 \
|
sudo apt-get install -y percona-postgresql-14 \
|
||||||
percona-postgresql-contrib percona-postgresql-server-dev-all
|
percona-postgresql-contrib percona-postgresql-server-dev-all \
|
||||||
|
percona-pgpool2 libpgpool2 percona-postgresql-14-pgaudit \
|
||||||
|
percona-postgresql-14-pgaudit-dbgsym percona-postgresql-14-repack \
|
||||||
|
percona-postgresql-14-repack-dbgsym percona-pgaudit14-set-user \
|
||||||
|
percona-pgaudit14-set-user-dbgsym percona-postgresql-14-postgis-3 \
|
||||||
|
percona-postgresql-14-postgis-3-scripts \
|
||||||
|
percona-postgresql-postgis-scripts percona-postgresql-postgis \
|
||||||
|
percona-postgis
|
||||||
|
|
||||||
- name: Change src owner to postgres
|
- name: Change src owner to postgres
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -41,12 +41,19 @@ jobs:
|
||||||
https://repo.percona.com/apt/percona-release_latest.generic_all.deb
|
https://repo.percona.com/apt/percona-release_latest.generic_all.deb
|
||||||
sudo dpkg -i percona-release_latest.generic_all.deb
|
sudo dpkg -i percona-release_latest.generic_all.deb
|
||||||
|
|
||||||
- name: Install Percona Distribution Postgresql 15
|
- name: Install Percona Distribution Postgresql 15 & Extensions
|
||||||
run: |
|
run: |
|
||||||
sudo percona-release setup ppg-15
|
sudo percona-release setup ppg-15
|
||||||
sudo apt-get update -y
|
sudo apt-get update -y
|
||||||
sudo apt-get install -y percona-postgresql-15 \
|
sudo apt-get install -y percona-postgresql-15 \
|
||||||
percona-postgresql-contrib percona-postgresql-server-dev-all
|
percona-postgresql-contrib percona-postgresql-server-dev-all \
|
||||||
|
percona-pgpool2 libpgpool2 percona-postgresql-15-pgaudit \
|
||||||
|
percona-postgresql-15-pgaudit-dbgsym percona-postgresql-15-repack \
|
||||||
|
percona-postgresql-15-repack-dbgsym percona-pgaudit15-set-user \
|
||||||
|
percona-pgaudit15-set-user-dbgsym percona-postgresql-15-postgis-3 \
|
||||||
|
percona-postgresql-15-postgis-3-scripts \
|
||||||
|
percona-postgresql-postgis-scripts percona-postgresql-postgis \
|
||||||
|
percona-postgis
|
||||||
|
|
||||||
- name: Change src owner to postgres
|
- name: Change src owner to postgres
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -41,12 +41,19 @@ jobs:
|
||||||
https://repo.percona.com/apt/percona-release_latest.generic_all.deb
|
https://repo.percona.com/apt/percona-release_latest.generic_all.deb
|
||||||
sudo dpkg -i percona-release_latest.generic_all.deb
|
sudo dpkg -i percona-release_latest.generic_all.deb
|
||||||
|
|
||||||
- name: Install Percona Distribution Postgresql 16
|
- name: Install Percona Distribution Postgresql 16 & Extensions
|
||||||
run: |
|
run: |
|
||||||
sudo percona-release setup ppg-16
|
sudo percona-release setup ppg-16
|
||||||
sudo apt-get update -y
|
sudo apt-get update -y
|
||||||
sudo apt-get install -y percona-postgresql-16 \
|
sudo apt-get install -y percona-postgresql-16 \
|
||||||
percona-postgresql-contrib percona-postgresql-server-dev-all
|
percona-postgresql-contrib percona-postgresql-server-dev-all \
|
||||||
|
percona-pgpool2 libpgpool2 percona-postgresql-16-pgaudit \
|
||||||
|
percona-postgresql-16-pgaudit-dbgsym percona-postgresql-16-repack \
|
||||||
|
percona-postgresql-16-repack-dbgsym percona-pgaudit16-set-user \
|
||||||
|
percona-pgaudit16-set-user-dbgsym percona-postgresql-16-postgis-3 \
|
||||||
|
percona-postgresql-16-postgis-3-scripts \
|
||||||
|
percona-postgresql-postgis-scripts percona-postgresql-postgis \
|
||||||
|
percona-postgis
|
||||||
|
|
||||||
- name: Change src owner to postgres
|
- name: Change src owner to postgres
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -201,7 +201,7 @@ install_deps() {
|
||||||
if [ "$OS" == "rpm" ]
|
if [ "$OS" == "rpm" ]
|
||||||
then
|
then
|
||||||
yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
|
yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
|
||||||
percona-release enable ppg-${PG_RELEASE} release
|
percona-release enable ppg-${PG_RELEASE} testing
|
||||||
|
|
||||||
yum -y install git wget
|
yum -y install git wget
|
||||||
PKGLIST="percona-postgresql${PG_RELEASE}-devel"
|
PKGLIST="percona-postgresql${PG_RELEASE}-devel"
|
||||||
|
@ -232,8 +232,10 @@ install_deps() {
|
||||||
apt-get update
|
apt-get update
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get -y install lsb-release gnupg git wget curl
|
DEBIAN_FRONTEND=noninteractive apt-get -y install lsb-release gnupg git wget curl
|
||||||
|
|
||||||
wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb && dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
|
wget https://repo.percona.com/apt/percona-release_latest.generic_all.deb
|
||||||
percona-release enable ppg-${PG_RELEASE} release
|
dpkg -i percona-release_latest.generic_all.deb
|
||||||
|
rm -f percona-release_latest.generic_all.deb
|
||||||
|
percona-release enable ppg-${PG_RELEASE} testing
|
||||||
|
|
||||||
|
|
||||||
PKGLIST="percona-postgresql-${PG_RELEASE} percona-postgresql-common percona-postgresql-server-dev-all"
|
PKGLIST="percona-postgresql-${PG_RELEASE} percona-postgresql-common percona-postgresql-server-dev-all"
|
||||||
|
|
|
@ -0,0 +1,113 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use File::Basename;
|
||||||
|
use File::Compare;
|
||||||
|
use File::Copy;
|
||||||
|
use Test::More;
|
||||||
|
use lib 't';
|
||||||
|
use pgsm;
|
||||||
|
|
||||||
|
# Get file name and CREATE out file name and dirs WHERE requried
|
||||||
|
PGSM::setup_files_dir(basename($0));
|
||||||
|
|
||||||
|
my $PG_VERSION_STRING = `pg_config --version`;
|
||||||
|
|
||||||
|
if (index(lc($PG_VERSION_STRING), lc("percona")) == -1)
|
||||||
|
{
|
||||||
|
plan skip_all => "pg_stat_monitor test case only for PPG server package install with extensions.";
|
||||||
|
}
|
||||||
|
|
||||||
|
# CREATE new PostgreSQL node and do initdb
|
||||||
|
my $node = PGSM->pgsm_init_pg();
|
||||||
|
my $pgdata = $node->data_dir;
|
||||||
|
|
||||||
|
# UPDATE postgresql.conf to include/load pg_stat_monitor library
|
||||||
|
open my $conf, '>>', "$pgdata/postgresql.conf";
|
||||||
|
print $conf "shared_preload_libraries = 'pg_stat_monitor, pgaudit, set_user, pg_repack'\n";
|
||||||
|
print $conf "pg_stat_monitor.pgsm_bucket_time = 360000\n";
|
||||||
|
print $conf "pg_stat_monitor.pgsm_normalized_query = 'yes'\n";
|
||||||
|
close $conf;
|
||||||
|
|
||||||
|
# Start server
|
||||||
|
my $rt_value = $node->start;
|
||||||
|
ok($rt_value == 1, "Start Server");
|
||||||
|
|
||||||
|
# Create PGSM extension
|
||||||
|
my ($cmdret, $stdout, $stderr) = $node->psql('postgres', 'CREATE EXTENSION pg_stat_monitor;', extra_params => ['-a']);
|
||||||
|
ok($cmdret == 0, "CREATE PGSM EXTENSION");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
|
||||||
|
($cmdret, $stdout, $stderr) = $node->psql('postgres', 'SELECT pg_stat_monitor_reset();', extra_params => ['-a', '-Pformat=aligned','-Ptuples_only=off']);
|
||||||
|
ok($cmdret == 0, "Reset PGSM EXTENSION");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
|
||||||
|
# Create Other extensions
|
||||||
|
($cmdret, $stdout, $stderr) = $node->psql('postgres', 'CREATE EXTENSION IF NOT EXISTS pgaudit;', extra_params => ['-a']);
|
||||||
|
ok($cmdret == 0, "CREATE pgaudit EXTENSION");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
($cmdret, $stdout, $stderr) = $node->psql('postgres', 'CREATE EXTENSION IF NOT EXISTS set_user;', extra_params => ['-a']);
|
||||||
|
ok($cmdret == 0, "CREATE set_user EXTENSION");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
($cmdret, $stdout, $stderr) = $node->psql('postgres', 'CREATE EXTENSION IF NOT EXISTS pg_repack;', extra_params => ['-a']);
|
||||||
|
ok($cmdret == 0, "CREATE pg_repack EXTENSION");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
($cmdret, $stdout, $stderr) = $node->psql('postgres', "SET pgaudit.log = 'none'; CREATE EXTENSION IF NOT EXISTS postgis; SET pgaudit.log = 'all';", extra_params => ['-a']);
|
||||||
|
ok($cmdret == 0, "CREATE postgis EXTENSION");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
($cmdret, $stdout, $stderr) = $node->psql('postgres', 'CREATE EXTENSION IF NOT EXISTS postgis_raster;', extra_params => ['-a']);
|
||||||
|
ok($cmdret == 0, "CREATE postgis_raster EXTENSION");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
($cmdret, $stdout, $stderr) = $node->psql('postgres', 'CREATE EXTENSION IF NOT EXISTS postgis_sfcgal;', extra_params => ['-a']);
|
||||||
|
ok($cmdret == 0, "CREATE postgis_sfcgal EXTENSION");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
($cmdret, $stdout, $stderr) = $node->psql('postgres', 'CREATE EXTENSION IF NOT EXISTS fuzzystrmatch;', extra_params => ['-a']);
|
||||||
|
ok($cmdret == 0, "CREATE fuzzystrmatch EXTENSION");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
($cmdret, $stdout, $stderr) = $node->psql('postgres', 'CREATE EXTENSION IF NOT EXISTS address_standardizer;', extra_params => ['-a']);
|
||||||
|
ok($cmdret == 0, "CREATE address_standardizer EXTENSION");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
($cmdret, $stdout, $stderr) = $node->psql('postgres', 'CREATE EXTENSION IF NOT EXISTS address_standardizer_data_us;', extra_params => ['-a']);
|
||||||
|
ok($cmdret == 0, "CREATE address_standardizer_data_us EXTENSION");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
($cmdret, $stdout, $stderr) = $node->psql('postgres', 'CREATE EXTENSION IF NOT EXISTS postgis_tiger_geocoder;', extra_params => ['-a']);
|
||||||
|
ok($cmdret == 0, "CREATE postgis_tiger_geocoder EXTENSION");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
|
||||||
|
# Print PGSM settings
|
||||||
|
($cmdret, $stdout, $stderr) = $node->psql('postgres', "SELECT name, setting, unit, context, vartype, source, min_val, max_val, enumvals, boot_val, reset_val, pending_restart FROM pg_settings WHERE name='pg_stat_monitor.pgsm_query_shared_buffer';", extra_params => ['-a', '-Pformat=aligned','-Ptuples_only=off']);
|
||||||
|
ok($cmdret == 0, "Print PGSM EXTENSION Settings");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
|
||||||
|
# Create example database and run pgbench init
|
||||||
|
($cmdret, $stdout, $stderr) = $node->psql('postgres', 'CREATE database example;', extra_params => ['-a']);
|
||||||
|
print "cmdret $cmdret\n";
|
||||||
|
ok($cmdret == 0, "CREATE Database example");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
|
||||||
|
my $port = $node->port;
|
||||||
|
print "port $port \n";
|
||||||
|
|
||||||
|
my $out = system ("pgbench -i -s 20 -p $port example");
|
||||||
|
print " out: $out \n";
|
||||||
|
ok($cmdret == 0, "Perform pgbench init");
|
||||||
|
|
||||||
|
$out = system ("pgbench -c 10 -j 2 -t 5000 -p $port example");
|
||||||
|
print " out: $out \n";
|
||||||
|
ok($cmdret == 0, "Run pgbench");
|
||||||
|
|
||||||
|
($cmdret, $stdout, $stderr) = $node->psql('postgres', 'SELECT datname, substr(query,0,150) AS query, SUM(calls) AS calls FROM pg_stat_monitor GROUP BY datname, query ORDER BY datname, query, calls;', extra_params => ['-a', '-Pformat=aligned','-Ptuples_only=off']);
|
||||||
|
ok($cmdret == 0, "SELECT XXX FROM pg_stat_monitor");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
|
||||||
|
# DROP EXTENSION
|
||||||
|
$stdout = $node->safe_psql('postgres', 'DROP EXTENSION pg_stat_monitor;', extra_params => ['-a']);
|
||||||
|
ok($cmdret == 0, "DROP PGSM EXTENSION");
|
||||||
|
PGSM::append_to_debug_file($stdout);
|
||||||
|
|
||||||
|
# Stop the server
|
||||||
|
$node->stop;
|
||||||
|
|
||||||
|
# Done testing for this testcase file.
|
||||||
|
done_testing();
|
Loading…
Reference in New Issue