PG-1900 Remove compatibility with PG-12
PG-12 reached EOL one year ago, so we can cleanup compatibiliby code for that version and remove related CI workflows. This change requires migration script to remove pgsm_create_11_view SQL function and as a result it requires extension version bump.pull/561/head
parent
2ec31f69ee
commit
1e32b52a3f
|
|
@ -1,152 +0,0 @@
|
|||
name: postgresql-12-build
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+.[0-9]+*'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: pg-12-build-test
|
||||
runs-on: ubuntu-22.04
|
||||
timeout-minutes: 30
|
||||
|
||||
steps:
|
||||
- name: Clone postgres repository
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
repository: 'postgres/postgres'
|
||||
ref: 'REL_12_STABLE'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt purge postgresql-client-common postgresql-common \
|
||||
postgresql postgresql*
|
||||
sudo apt-get install -y libreadline6-dev systemtap-sdt-dev \
|
||||
zlib1g-dev libssl-dev libpam0g-dev bison flex \
|
||||
libipc-run-perl docbook-xsl docbook-xsl libxml2 libxml2-utils \
|
||||
libxml2-dev libxslt-dev xsltproc libkrb5-dev libldap2-dev \
|
||||
libsystemd-dev gettext tcl-dev libperl-dev pkg-config clang-11 \
|
||||
llvm-11 llvm-11-dev libselinux1-dev python3-dev uuid-dev liblz4-dev
|
||||
sudo rm -rf /var/lib/postgresql /var/log/postgresql /etc/postgresql \
|
||||
/usr/lib/postgresql /usr/include/postgresql /usr/share/postgresql \
|
||||
/etc/postgresql
|
||||
sudo rm -f /usr/bin/pg_config
|
||||
sudo /usr/bin/perl -MCPAN -e 'install IPC::Run'
|
||||
sudo /usr/bin/perl -MCPAN -e 'install Text::Trim'
|
||||
|
||||
- name: Create pgsql dir
|
||||
run: mkdir -p /opt/pgsql
|
||||
|
||||
- name: Build postgres
|
||||
run: |
|
||||
export PATH="/opt/pgsql/bin:$PATH"
|
||||
./configure '--build=x86_64-linux-gnu' '--prefix=/usr' \
|
||||
'--includedir=/usr/include' '--mandir=/usr/share/man' \
|
||||
'--infodir=/usr/share/info' '--sysconfdir=/etc' '--with-gnu-ld' \
|
||||
'--localstatedir=/var' '--libdir=/usr/lib/x86_64-linux-gnu' \
|
||||
'runstatedir=/run' '--with-icu' '--with-tcl' '--with-perl' \
|
||||
'--with-python' '--with-pam' '--with-openssl' '--with-libxml' \
|
||||
'--with-libxslt' 'PYTHON=/usr/bin/python3' '--enable-tap-tests' \
|
||||
'--mandir=/usr/share/postgresql/12/man' '--enable-thread-safety' \
|
||||
'--docdir=/usr/share/doc/postgresql-doc-12' '--enable-debug' \
|
||||
'--sysconfdir=/etc/postgresql-common' '--datarootdir=/usr/share' \
|
||||
'--datadir=/usr/share/postgresql/12' '--enable-dtrace' \
|
||||
'--bindir=/usr/lib/postgresql/12/bin' '--disable-rpath' \
|
||||
'--libdir=/usr/lib/x86_64-linux-gnu' '--with-pgport=5432' \
|
||||
'--libexecdir=/usr/lib/postgresql' '--with-uuid=e2fs' \
|
||||
'--includedir=/usr/include/postgresql' 'TAR=/bin/tar' \
|
||||
'--with-system-tzdata=/usr/share/zoneinfo' '--with-llvm' \
|
||||
'LLVM_CONFIG=/usr/bin/llvm-config-11' 'CLANG=/usr/bin/clang-11' \
|
||||
'--with-systemd' '--with-selinux' 'MKDIR_P=/bin/mkdir -p' \
|
||||
'PROVE=/usr/bin/prove' '--with-gssapi' '--with-ldap' \
|
||||
'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now' \
|
||||
'--with-includes=/usr/include/mit-krb5' '--with-libs=/usr/lib/mit-krb5' \
|
||||
'--with-libs=/usr/lib/x86_64-linux-gnu/mit-krb5' \
|
||||
'build_alias=x86_64-linux-gnu' \
|
||||
'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' '--enable-nls' \
|
||||
'CFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fno-omit-frame-pointer' \
|
||||
'CXXFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security'
|
||||
make world
|
||||
sudo make install-world
|
||||
|
||||
- name: Start postgresql cluster
|
||||
run: |
|
||||
export PATH="/usr/lib/postgresql/12/bin:$PATH"
|
||||
sudo cp /usr/lib/postgresql/12/bin/pg_config /usr/bin
|
||||
initdb -D /opt/pgsql/data
|
||||
pg_ctl -D /opt/pgsql/data -l logfile start
|
||||
|
||||
- name: Clone pg_stat_monitor repository
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
path: 'src/pg_stat_monitor'
|
||||
|
||||
- name: Build pg_stat_monitor
|
||||
run: |
|
||||
make USE_PGXS=1
|
||||
sudo make USE_PGXS=1 install
|
||||
working-directory: src/pg_stat_monitor
|
||||
|
||||
- name: Load pg_stat_monitor library and Restart Server
|
||||
run: |
|
||||
export PATH="/usr/lib/postgresql/12/bin:$PATH"
|
||||
pg_ctl -D /opt/pgsql/data -l logfile stop
|
||||
echo "shared_preload_libraries = 'pg_stat_monitor'" >> \
|
||||
/opt/pgsql/data/postgresql.conf
|
||||
pg_ctl -D /opt/pgsql/data -l logfile start
|
||||
working-directory: src/pg_stat_monitor
|
||||
|
||||
- name: Start pg_stat_monitor_tests
|
||||
run: |
|
||||
make installcheck
|
||||
working-directory: src/pg_stat_monitor
|
||||
|
||||
- name: Change dir permissions on fail
|
||||
if: ${{ failure() }}
|
||||
run: |
|
||||
sudo chmod -R ugo+rwx t
|
||||
sudo chmod -R ugo+rwx tmp_check
|
||||
exit 2 # regenerate error so that we can upload files in next step
|
||||
working-directory: src/pg_stat_monitor
|
||||
|
||||
- name: Upload logs on fail
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: Regressions diff and postgresql log
|
||||
path: |
|
||||
src/pg_stat_monitor/regression.diffs
|
||||
src/pg_stat_monitor/regression.out
|
||||
src/pg_stat_monitor/logfile
|
||||
src/pg_stat_monitor/t/results/
|
||||
src/pg_stat_monitor/tmp_check/log/
|
||||
!src/pg_stat_monitor/tmp_check/**/archives/*
|
||||
!src/pg_stat_monitor/tmp_check/**/backup/*
|
||||
!src/pg_stat_monitor/tmp_check/**/pgdata/*
|
||||
!src/pg_stat_monitor/tmp_check/**/archives/
|
||||
!src/pg_stat_monitor/tmp_check/**/backup/
|
||||
!src/pg_stat_monitor/tmp_check/**/pgdata/
|
||||
if-no-files-found: warn
|
||||
retention-days: 3
|
||||
|
||||
- name: Start Server installcheck-world tests
|
||||
run: |
|
||||
make installcheck-world
|
||||
|
||||
- name: Report on installcheck-world test suites fail
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
if: ${{ failure() }}
|
||||
with:
|
||||
name: Regressions output files of failed testsuite, and pg log
|
||||
path: |
|
||||
**/regression.diffs
|
||||
**/regression.out
|
||||
src/pg_stat_monitor/logfile
|
||||
retention-days: 3
|
||||
|
|
@ -1,99 +0,0 @@
|
|||
name: postgresql-12-pgdg-package
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+.[0-9]+*'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: pg-12-pgdg-package-test
|
||||
runs-on: ubuntu-22.04
|
||||
timeout-minutes: 30
|
||||
|
||||
steps:
|
||||
- name: Clone pg_stat_monitor repository
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
path: 'src/pg_stat_monitor'
|
||||
|
||||
- name: Delete old postgresql files
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt purge postgresql-client-common postgresql-common \
|
||||
postgresql postgresql*
|
||||
sudo apt-get install -y libreadline6-dev systemtap-sdt-dev \
|
||||
zlib1g-dev libssl-dev libpam0g-dev python3-dev bison flex \
|
||||
libipc-run-perl wget -y
|
||||
sudo rm -rf /var/lib/postgresql /var/log/postgresql /etc/postgresql \
|
||||
/usr/lib/postgresql /usr/include/postgresql /usr/share/postgresql \
|
||||
/etc/postgresql
|
||||
sudo rm -f /usr/bin/pg_config
|
||||
sudo /usr/bin/perl -MCPAN -e 'install IPC::Run'
|
||||
sudo /usr/bin/perl -MCPAN -e 'install Text::Trim'
|
||||
|
||||
- name: Install PG Distribution Postgresql 12
|
||||
run: |
|
||||
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt \
|
||||
$(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
|
||||
sudo wget --quiet -O - \
|
||||
https://www.postgresql.org/media/keys/ACCC4CF8.asc |
|
||||
sudo apt-key add -
|
||||
sudo apt-get -y update
|
||||
sudo apt-get -y install postgresql-12 postgresql-server-dev-12
|
||||
|
||||
- name: Change src owner to postgres
|
||||
run: |
|
||||
sudo chmod o+rx ~
|
||||
sudo chown -R postgres:postgres src
|
||||
|
||||
- name: Build pg_stat_monitor
|
||||
run: |
|
||||
sudo -u postgres bash -c 'make USE_PGXS=1'
|
||||
sudo make USE_PGXS=1 install
|
||||
working-directory: src/pg_stat_monitor
|
||||
|
||||
- name: Start pg_stat_monitor_tests
|
||||
run: |
|
||||
sudo service postgresql stop
|
||||
echo "shared_preload_libraries = 'pg_stat_monitor'" |
|
||||
sudo tee -a /etc/postgresql/12/main/postgresql.conf
|
||||
sudo service postgresql start
|
||||
sudo psql -V
|
||||
export PG_TEST_PORT_DIR=${GITHUB_WORKSPACE}/src/pg_stat_monitor
|
||||
echo $PG_TEST_PORT_DIR
|
||||
sudo -E -u postgres bash -c 'make installcheck USE_PGXS=1'
|
||||
working-directory: src/pg_stat_monitor
|
||||
|
||||
- name: Change dir permissions on fail
|
||||
if: ${{ failure() }}
|
||||
run: |
|
||||
sudo chmod -R ugo+rwx t
|
||||
sudo chmod -R ugo+rwx tmp_check
|
||||
exit 2 # regenerate error so that we can upload files in next step
|
||||
working-directory: src/pg_stat_monitor
|
||||
|
||||
- name: Upload logs on fail
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: Regressions diff and postgresql log
|
||||
path: |
|
||||
src/pg_stat_monitor/regression.diffs
|
||||
src/pg_stat_monitor/regression.out
|
||||
src/pg_stat_monitor/logfile
|
||||
src/pg_stat_monitor/t/results/
|
||||
src/pg_stat_monitor/tmp_check/log/
|
||||
!src/pg_stat_monitor/tmp_check/**/archives/*
|
||||
!src/pg_stat_monitor/tmp_check/**/backup/*
|
||||
!src/pg_stat_monitor/tmp_check/**/pgdata/*
|
||||
!src/pg_stat_monitor/tmp_check/**/archives/
|
||||
!src/pg_stat_monitor/tmp_check/**/backup/
|
||||
!src/pg_stat_monitor/tmp_check/**/pgdata/
|
||||
if-no-files-found: warn
|
||||
retention-days: 3
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
name: postgresql-12-pmm-integration
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+.[0-9]+*'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: pg-12-pgsm-pmm-integration-test
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- name: Clone QA Integration repository
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
repository: 'Percona-Lab/qa-integration'
|
||||
ref: 'main'
|
||||
|
||||
# print branch and Repo name
|
||||
- name: Get branch and Repo Name
|
||||
run: echo 'The branch and Repo Name is' ${{ github.head_ref }} ${{ github.actor }}/pg_stat_monitor
|
||||
|
||||
- name: "Set TARGET_BRANCH variable for a PR run"
|
||||
if: github.event_name == 'pull_request'
|
||||
run: echo "TARGET_BRANCH=${{ github.event.pull_request.base.ref }}" >> $GITHUB_ENV
|
||||
|
||||
- name: "Set TARGET_BRANCH variable for a PUSH run"
|
||||
if: github.event_name == 'push'
|
||||
run: echo "TARGET_BRANCH=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||
|
||||
- name: Run PMM & PGSM Setup, E2E Tests
|
||||
run: bash -xe ./pmm_pgsm_setup/pmm_pgsm_setup.sh --pgsql-version=12 --pgstat-monitor-branch=${{ env.TARGET_BRANCH }}
|
||||
|
||||
- name: Get PMM-Agent Logs from the Container
|
||||
if: success() || failure() # run this step even if previous step failed
|
||||
run: docker exec pgsql_pgsm_12 cat pmm-agent.log > ./pmm-ui-tests/tests/output/pmm-agent.log
|
||||
|
||||
- name: Upload Tests Artifacts
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
if: success() || failure() # run this step even if previous step failed
|
||||
with:
|
||||
name: tests-artifact
|
||||
path: ./pmm-ui-tests/tests/output/
|
||||
if-no-files-found: ignore # 'warn' or 'ignore' are also available, defaults to `warn`
|
||||
|
|
@ -1,114 +0,0 @@
|
|||
name: postgresql-12-ppg-package
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+.[0-9]+*'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: pg-12-ppg-package-test
|
||||
runs-on: ubuntu-22.04
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- name: Clone pg_stat_monitor repository
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
path: 'src/pg_stat_monitor'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt purge postgresql-client-common postgresql-common \
|
||||
postgresql postgresql*
|
||||
sudo apt-get install -y libreadline6-dev systemtap-sdt-dev \
|
||||
zlib1g-dev libssl-dev libpam0g-dev python3-dev bison flex \
|
||||
libipc-run-perl wget
|
||||
sudo apt-get install -y libreadline6-dev systemtap-sdt-dev \
|
||||
zlib1g-dev libssl-dev libpam0g-dev python3-dev bison flex \
|
||||
libipc-run-perl wget
|
||||
sudo rm -rf /var/lib/postgresql /var/log/postgresql /etc/postgresql \
|
||||
/usr/lib/postgresql /usr/include/postgresql /usr/share/postgresql \
|
||||
/etc/postgresql
|
||||
sudo rm -f /usr/bin/pg_config
|
||||
sudo /usr/bin/perl -MCPAN -e 'install IPC::Run'
|
||||
sudo /usr/bin/perl -MCPAN -e 'install Text::Trim'
|
||||
|
||||
- name: Install percona-release script
|
||||
run: |
|
||||
sudo apt-get -y update
|
||||
sudo apt-get -y upgrade
|
||||
sudo apt-get install -y wget gnupg2 curl lsb-release
|
||||
sudo wget \
|
||||
https://repo.percona.com/apt/percona-release_latest.generic_all.deb
|
||||
sudo dpkg -i percona-release_latest.generic_all.deb
|
||||
|
||||
- name: Install Percona Distribution Postgresql 12 & Extensions
|
||||
run: |
|
||||
sudo percona-release setup ppg-12
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y percona-postgresql-12 \
|
||||
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
|
||||
run: |
|
||||
sudo chmod o+rx ~
|
||||
sudo chown -R postgres:postgres src
|
||||
|
||||
- name: Build pg_stat_monitor
|
||||
run: |
|
||||
sudo -u postgres bash -c 'make USE_PGXS=1'
|
||||
sudo make USE_PGXS=1 install
|
||||
working-directory: src/pg_stat_monitor
|
||||
|
||||
- name: Start pg_stat_monitor_tests
|
||||
run: |
|
||||
sudo service postgresql stop
|
||||
echo "shared_preload_libraries = 'pg_stat_monitor'" |
|
||||
sudo tee -a /etc/postgresql/12/main/postgresql.conf
|
||||
sudo service postgresql start
|
||||
sudo psql -V
|
||||
export PG_TEST_PORT_DIR=${GITHUB_WORKSPACE}/src/pg_stat_monitor
|
||||
echo $PG_TEST_PORT_DIR
|
||||
sudo -E -u postgres bash -c 'make installcheck USE_PGXS=1'
|
||||
working-directory: src/pg_stat_monitor
|
||||
|
||||
- name: Change dir permissions on fail
|
||||
if: ${{ failure() }}
|
||||
run: |
|
||||
sudo chmod -R ugo+rwx t
|
||||
sudo chmod -R ugo+rwx tmp_check
|
||||
exit 2 # regenerate error so that we can upload files in next step
|
||||
working-directory: src/pg_stat_monitor
|
||||
|
||||
- name: Upload logs on fail
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: Regressions diff and postgresql log
|
||||
path: |
|
||||
src/pg_stat_monitor/regression.diffs
|
||||
src/pg_stat_monitor/regression.out
|
||||
src/pg_stat_monitor/logfile
|
||||
src/pg_stat_monitor/t/results/
|
||||
src/pg_stat_monitor/tmp_check/log/
|
||||
!src/pg_stat_monitor/tmp_check/**/archives/*
|
||||
!src/pg_stat_monitor/tmp_check/**/backup/*
|
||||
!src/pg_stat_monitor/tmp_check/**/pgdata/*
|
||||
!src/pg_stat_monitor/tmp_check/**/archives/
|
||||
!src/pg_stat_monitor/tmp_check/**/backup/
|
||||
!src/pg_stat_monitor/tmp_check/**/pgdata/
|
||||
if-no-files-found: warn
|
||||
retention-days: 3
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
"name": "pg_stat_monitor",
|
||||
"abstract": "PostgreSQL Query Performance Monitoring Tool",
|
||||
"description": "pg_stat_monitor is a PostgreSQL Query Performance Monitoring tool, based on PostgreSQL's contrib module pg_stat_statements. PostgreSQL’s pg_stat_statements provides the basic statistics, which is sometimes not enough. The major shortcoming in pg_stat_statements is that it accumulates all the queries and their statistics and does not provide aggregated statistics nor histogram information. In this case, a user would need to calculate the aggregates, which is quite an expensive operation.",
|
||||
"version": "2.2.0",
|
||||
"version": "2.3.0",
|
||||
"maintainer": [
|
||||
"Artem Gavrilov <artem.gavrilov@percona.com>",
|
||||
"Diego dos Santos Fronza <diego.fronza@percona.com>"
|
||||
|
|
@ -13,9 +13,9 @@
|
|||
"provides": {
|
||||
"pg_stat_monitor": {
|
||||
"abstract": "PostgreSQL Query Performance Monitoring Tool",
|
||||
"file": "pg_stat_monitor--2.1--2.2.sql",
|
||||
"file": "pg_stat_monitor--2.2--2.3.sql",
|
||||
"docfile": "README.md",
|
||||
"version": "2.2.0"
|
||||
"version": "2.3.0"
|
||||
}
|
||||
},
|
||||
"prereqs": {
|
||||
|
|
|
|||
2
Makefile
2
Makefile
|
|
@ -4,7 +4,7 @@ MODULE_big = pg_stat_monitor
|
|||
OBJS = hash_query.o guc.o pg_stat_monitor.o $(WIN32RES)
|
||||
|
||||
EXTENSION = pg_stat_monitor
|
||||
DATA = pg_stat_monitor--2.0.sql pg_stat_monitor--1.0--2.0.sql pg_stat_monitor--2.0--2.1.sql pg_stat_monitor--2.1--2.2.sql
|
||||
DATA = pg_stat_monitor--2.0.sql pg_stat_monitor--1.0--2.0.sql pg_stat_monitor--2.0--2.1.sql pg_stat_monitor--2.1--2.2.sql pg_stat_monitor--2.2--2.3.sql
|
||||
|
||||
PGFILEDESC = "pg_stat_monitor - execution statistics of SQL statements"
|
||||
|
||||
|
|
|
|||
11
README.md
11
README.md
|
|
@ -1,4 +1,3 @@
|
|||
[](https://github.com/percona/pg_stat_monitor/actions/workflows/postgresql-12-pgdg-package.yml)
|
||||
[](https://github.com/percona/pg_stat_monitor/actions/workflows/postgresql-13-pgdg-package.yml)
|
||||
[](https://github.com/percona/pg_stat_monitor/actions/workflows/postgresql-14-pgdg-package.yml)
|
||||
[](https://github.com/percona/pg_stat_monitor/actions/workflows/postgresql-15-pgdg-package.yml)
|
||||
|
|
@ -52,9 +51,9 @@ While `pg_stat_statements` provides ever-increasing metrics, `pg_stat_monitor` a
|
|||
|
||||
To learn about other features, available in `pg_stat_monitor`, see the [Features](#pg_stat_monitor-features) section and the [User Guide](https://docs.percona.com/pg-stat-monitor/user_guide.html).
|
||||
|
||||
`pg_stat_monitor` supports PostgreSQL versions 11 and above. It is compatible with both PostgreSQL provided by PostgreSQL Global Development Group (PGDG) and [Percona Distribution for PostgreSQL](https://www.percona.com/software/postgresql-distribution).
|
||||
`pg_stat_monitor` supports PostgreSQL versions 13 and above. It is compatible with both PostgreSQL provided by PostgreSQL Global Development Group (PGDG) and [Percona Distribution for PostgreSQL](https://www.percona.com/software/postgresql-distribution).
|
||||
|
||||
The `RPM` (for RHEL and CentOS) and the `DEB` (for Debian and Ubuntu) packages are available from Percona repositories for PostgreSQL versions [12](https://www.percona.com/downloads/postgresql-distribution-12/LATEST/), [13](https://www.percona.com/downloads/postgresql-distribution-13/LATEST/), [14](https://www.percona.com/downloads/postgresql-distribution-14/LATEST/), [15](https://www.percona.com/downloads/postgresql-distribution-15/LATEST/), [16](https://www.percona.com/downloads/postgresql-distribution-16/LATEST/) and [17](https://www.percona.com/downloads/postgresql-distribution-17/LATEST/).
|
||||
The `RPM` (for RHEL and CentOS) and the `DEB` (for Debian and Ubuntu) packages are available from Percona repositories for PostgreSQL versions [13](https://www.percona.com/downloads/postgresql-distribution-13/LATEST/), [14](https://www.percona.com/downloads/postgresql-distribution-14/LATEST/), [15](https://www.percona.com/downloads/postgresql-distribution-15/LATEST/), [16](https://www.percona.com/downloads/postgresql-distribution-16/LATEST/) and [17](https://www.percona.com/downloads/postgresql-distribution-17/LATEST/).
|
||||
|
||||
The RPM packages are also available in the official PostgreSQL (PGDG) yum repositories.
|
||||
|
||||
|
|
@ -64,8 +63,8 @@ The `pg_stat_monitor` should work on the latest version of both [Percona Distrib
|
|||
|
||||
| **Distribution** | **Version** | **Provider** |
|
||||
| ---------------- | --------------- | ------------ |
|
||||
|[Percona Distribution for PostgreSQL](https://www.percona.com/software/postgresql-distribution)| [12](https://www.percona.com/downloads/postgresql-distribution-12/LATEST/), [13](https://www.percona.com/downloads/postgresql-distribution-13/LATEST/), [14](https://www.percona.com/downloads/postgresql-distribution-14/LATEST/), [15](https://www.percona.com/downloads/postgresql-distribution-15/LATEST/), [16](https://www.percona.com/downloads/postgresql-distribution-16/LATEST/) and [17](https://www.percona.com/downloads/postgresql-distribution-17/LATEST/)| Percona|
|
||||
| PostgreSQL | 12, 13, 14, 15, 16 and 17 | PostgreSQL Global Development Group (PGDG) |
|
||||
|[Percona Distribution for PostgreSQL](https://www.percona.com/software/postgresql-distribution)| [13](https://www.percona.com/downloads/postgresql-distribution-13/LATEST/), [14](https://www.percona.com/downloads/postgresql-distribution-14/LATEST/), [15](https://www.percona.com/downloads/postgresql-distribution-15/LATEST/), [16](https://www.percona.com/downloads/postgresql-distribution-16/LATEST/) and [17](https://www.percona.com/downloads/postgresql-distribution-17/LATEST/)| Percona|
|
||||
| PostgreSQL | 13, 14, 15, 16 and 17 | PostgreSQL Global Development Group (PGDG) |
|
||||
|
||||
|
||||
### Features
|
||||
|
|
@ -188,7 +187,7 @@ ALTER SYSTEM SET shared_preload_libraries = 'pg_stat_monitor';
|
|||
|
||||
> **NOTE**: If you’ve added other modules to the `shared_preload_libraries` parameter (for example, `pg_stat_statements`), list all of them separated by commas for the `ALTER SYSTEM` command.
|
||||
>
|
||||
>:warning: For PostgreSQL 13 and earlier versions,`pg_stat_monitor` **must** follow `pg_stat_statements`. For example, `ALTER SYSTEM SET shared_preload_libraries = 'foo, pg_stat_statements, pg_stat_monitor'`.
|
||||
>:warning: For PostgreSQL 13 `pg_stat_monitor` **must** follow `pg_stat_statements`. For example, `ALTER SYSTEM SET shared_preload_libraries = 'foo, pg_stat_statements, pg_stat_monitor'`.
|
||||
>
|
||||
>In PostgreSQL 14, you can specify `pg_stat_statements` and `pg_stat_monitor` in any order. However, due to the extensions' architecture, if both `pg_stat_statements` and `pg_stat_monitor` are loaded, only the last listed extension captures utility queries, CREATE TABLE, Analyze, etc. The first listed extension captures most common queries like SELECT, UPDATE, INSERT, but does not capture utility queries.
|
||||
>
|
||||
|
|
|
|||
2
guc.c
2
guc.c
|
|
@ -275,7 +275,6 @@ init_guc(void)
|
|||
NULL, /* assign_hook */
|
||||
NULL /* show_hook */
|
||||
);
|
||||
#if PG_VERSION_NUM >= 130000
|
||||
DefineCustomBoolVariable("pg_stat_monitor.pgsm_track_planning", /* name */
|
||||
"Selects whether planning statistics are tracked.", /* short_desc */
|
||||
NULL, /* long_desc */
|
||||
|
|
@ -287,7 +286,6 @@ init_guc(void)
|
|||
NULL, /* assign_hook */
|
||||
NULL /* show_hook */
|
||||
);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ install_data(
|
|||
'pg_stat_monitor--1.0--2.0.sql',
|
||||
'pg_stat_monitor--2.0--2.1.sql',
|
||||
'pg_stat_monitor--2.1--2.2.sql',
|
||||
'pg_stat_monitor--2.2--2.3.sql',
|
||||
kwargs: contrib_data_args,
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
/* contrib/pg_stat_monitor/pg_stat_monitor--2.2--2.3.sql */
|
||||
|
||||
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
|
||||
\echo Use "ALTER EXTENSION pg_stat_monitor" to load this file. \quit
|
||||
|
||||
DROP FUNCTION pgsm_create_11_view();
|
||||
DROP VIEW pg_stat_monitor;
|
||||
|
||||
CREATE OR REPLACE FUNCTION pgsm_create_view() RETURNS INT AS
|
||||
$$
|
||||
DECLARE ver integer;
|
||||
BEGIN
|
||||
SELECT current_setting('server_version_num') INTO ver;
|
||||
IF (ver >= 170000) THEN
|
||||
return pgsm_create_17_view();
|
||||
END IF;
|
||||
IF (ver >= 150000) THEN
|
||||
return pgsm_create_15_view();
|
||||
END IF;
|
||||
IF (ver >= 140000) THEN
|
||||
return pgsm_create_14_view();
|
||||
END IF;
|
||||
IF (ver >= 130000) THEN
|
||||
return pgsm_create_13_view();
|
||||
END IF;
|
||||
RETURN 0;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
SELECT pgsm_create_view();
|
||||
REVOKE ALL ON FUNCTION pgsm_create_view FROM PUBLIC;
|
||||
|
||||
GRANT SELECT ON pg_stat_monitor TO PUBLIC;
|
||||
|
|
@ -36,7 +36,7 @@ typedef enum pgsmVersion
|
|||
|
||||
PG_MODULE_MAGIC;
|
||||
|
||||
#define BUILD_VERSION "2.2.0"
|
||||
#define BUILD_VERSION "2.3.0"
|
||||
|
||||
/* Number of output arguments (columns) for various API versions */
|
||||
#define PG_STAT_MONITOR_COLS_V1_0 52
|
||||
|
|
@ -76,7 +76,7 @@ void _PG_init(void);
|
|||
static int nesting_level = 0;
|
||||
volatile bool __pgsm_do_not_capture_error = false;
|
||||
|
||||
#if PG_VERSION_NUM >= 130000 && PG_VERSION_NUM < 170000
|
||||
#if PG_VERSION_NUM < 170000
|
||||
/* Before planner nesting level was conunted separately */
|
||||
static int plan_nested_level = 0;
|
||||
#endif
|
||||
|
|
@ -126,9 +126,7 @@ static void request_additional_shared_resources(void);
|
|||
static void pgsm_shmem_request(void);
|
||||
static shmem_request_hook_type prev_shmem_request_hook = NULL;
|
||||
#endif
|
||||
#if PG_VERSION_NUM >= 130000
|
||||
static planner_hook_type planner_hook_next = NULL;
|
||||
#endif
|
||||
static post_parse_analyze_hook_type prev_post_parse_analyze_hook = NULL;
|
||||
static ExecutorStart_hook_type prev_ExecutorStart = NULL;
|
||||
static ExecutorRun_hook_type prev_ExecutorRun = NULL;
|
||||
|
|
@ -179,21 +177,13 @@ DECLARE_HOOK(void pgsm_ProcessUtility, PlannedStmt *pstmt, const char *queryStri
|
|||
ParamListInfo params, QueryEnvironment *queryEnv,
|
||||
DestReceiver *dest,
|
||||
QueryCompletion *qc);
|
||||
#elif PG_VERSION_NUM >= 130000
|
||||
#else
|
||||
DECLARE_HOOK(PlannedStmt *pgsm_planner_hook, Query *parse, const char *query_string, int cursorOptions, ParamListInfo boundParams);
|
||||
DECLARE_HOOK(void pgsm_ProcessUtility, PlannedStmt *pstmt, const char *queryString,
|
||||
ProcessUtilityContext context,
|
||||
ParamListInfo params, QueryEnvironment *queryEnv,
|
||||
DestReceiver *dest,
|
||||
QueryCompletion *qc);
|
||||
#else
|
||||
static void BufferUsageAccumDiff(BufferUsage *bufusage, BufferUsage *pgBufferUsage, BufferUsage *bufusage_start);
|
||||
|
||||
DECLARE_HOOK(void pgsm_ProcessUtility, PlannedStmt *pstmt, const char *queryString,
|
||||
ProcessUtilityContext context, ParamListInfo params,
|
||||
QueryEnvironment *queryEnv,
|
||||
DestReceiver *dest,
|
||||
char *completionTag);
|
||||
#endif
|
||||
static uint64 pgsm_hash_string(const char *str, int len);
|
||||
char *unpack_sql_state(int sql_state);
|
||||
|
|
@ -329,10 +319,8 @@ _PG_init(void)
|
|||
ExecutorEnd_hook = HOOK(pgsm_ExecutorEnd);
|
||||
prev_ProcessUtility = ProcessUtility_hook;
|
||||
ProcessUtility_hook = HOOK(pgsm_ProcessUtility);
|
||||
#if PG_VERSION_NUM >= 130000
|
||||
planner_hook_next = planner_hook;
|
||||
planner_hook = HOOK(pgsm_planner_hook);
|
||||
#endif
|
||||
prev_emit_log_hook = emit_log_hook;
|
||||
emit_log_hook = HOOK(pgsm_emit_log_hook);
|
||||
prev_ExecutorCheckPerms_hook = ExecutorCheckPerms_hook;
|
||||
|
|
@ -761,11 +749,7 @@ pgsm_ExecutorEnd(QueryDesc *queryDesc)
|
|||
queryDesc->totaltime->total * 1000.0, /* exec_total_time */
|
||||
queryDesc->estate->es_processed, /* rows */
|
||||
&queryDesc->totaltime->bufusage, /* bufusage */
|
||||
#if PG_VERSION_NUM >= 130000
|
||||
&queryDesc->totaltime->walusage, /* walusage */
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
#if PG_VERSION_NUM >= 150000
|
||||
queryDesc->estate->es_jit ? &queryDesc->estate->es_jit->instr : NULL, /* jitusage */
|
||||
#else
|
||||
|
|
@ -847,7 +831,6 @@ pgsm_ExecutorCheckPerms(List *rt, List *rp, bool abort)
|
|||
return true;
|
||||
}
|
||||
|
||||
#if PG_VERSION_NUM >= 130000
|
||||
static PlannedStmt *
|
||||
pgsm_planner_hook(Query *parse, const char *query_string, int cursorOptions, ParamListInfo boundParams)
|
||||
{
|
||||
|
|
@ -994,7 +977,6 @@ pgsm_planner_hook(Query *parse, const char *query_string, int cursorOptions, Par
|
|||
}
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* ProcessUtility hook
|
||||
|
|
@ -1008,21 +990,13 @@ pgsm_ProcessUtility(PlannedStmt *pstmt, const char *queryString,
|
|||
DestReceiver *dest,
|
||||
QueryCompletion *qc)
|
||||
|
||||
#elif PG_VERSION_NUM >= 130000
|
||||
#else
|
||||
static void
|
||||
pgsm_ProcessUtility(PlannedStmt *pstmt, const char *queryString,
|
||||
ProcessUtilityContext context,
|
||||
ParamListInfo params, QueryEnvironment *queryEnv,
|
||||
DestReceiver *dest,
|
||||
QueryCompletion *qc)
|
||||
|
||||
#else
|
||||
static void
|
||||
pgsm_ProcessUtility(PlannedStmt *pstmt, const char *queryString,
|
||||
ProcessUtilityContext context, ParamListInfo params,
|
||||
QueryEnvironment *queryEnv,
|
||||
DestReceiver *dest,
|
||||
char *completionTag)
|
||||
#endif
|
||||
{
|
||||
Node *parsetree = pstmt->utilityStmt;
|
||||
|
|
@ -1079,10 +1053,8 @@ pgsm_ProcessUtility(PlannedStmt *pstmt, const char *queryString,
|
|||
SysInfo sys_info;
|
||||
BufferUsage bufusage;
|
||||
BufferUsage bufusage_start = pgBufferUsage;
|
||||
#if PG_VERSION_NUM >= 130000
|
||||
WalUsage walusage;
|
||||
WalUsage walusage_start = pgWalUsage;
|
||||
#endif
|
||||
|
||||
if (getrusage(RUSAGE_SELF, &rusage_start) != 0)
|
||||
elog(DEBUG1, "[pg_stat_monitor] pgsm_ProcessUtility: Failed to execute getrusage.");
|
||||
|
|
@ -1105,7 +1077,7 @@ pgsm_ProcessUtility(PlannedStmt *pstmt, const char *queryString,
|
|||
context, params, queryEnv,
|
||||
dest,
|
||||
qc);
|
||||
#elif PG_VERSION_NUM >= 130000
|
||||
#else
|
||||
if (prev_ProcessUtility)
|
||||
prev_ProcessUtility(pstmt, queryString,
|
||||
context, params, queryEnv,
|
||||
|
|
@ -1116,17 +1088,6 @@ pgsm_ProcessUtility(PlannedStmt *pstmt, const char *queryString,
|
|||
context, params, queryEnv,
|
||||
dest,
|
||||
qc);
|
||||
#else
|
||||
if (prev_ProcessUtility)
|
||||
prev_ProcessUtility(pstmt, queryString,
|
||||
context, params, queryEnv,
|
||||
dest,
|
||||
completionTag);
|
||||
else
|
||||
standard_ProcessUtility(pstmt, queryString,
|
||||
context, params, queryEnv,
|
||||
dest,
|
||||
completionTag);
|
||||
#endif
|
||||
nesting_level--;
|
||||
}
|
||||
|
|
@ -1152,7 +1113,6 @@ pgsm_ProcessUtility(PlannedStmt *pstmt, const char *queryString,
|
|||
INSTR_TIME_SET_CURRENT(duration);
|
||||
INSTR_TIME_SUBTRACT(duration, start);
|
||||
|
||||
#if PG_VERSION_NUM >= 130000
|
||||
#if PG_VERSION_NUM >= 140000
|
||||
rows = (qc && (qc->commandTag == CMDTAG_COPY ||
|
||||
qc->commandTag == CMDTAG_FETCH ||
|
||||
|
|
@ -1166,13 +1126,6 @@ pgsm_ProcessUtility(PlannedStmt *pstmt, const char *queryString,
|
|||
/* calc differences of WAL counters. */
|
||||
memset(&walusage, 0, sizeof(WalUsage));
|
||||
WalUsageAccumDiff(&walusage, &pgWalUsage, &walusage_start);
|
||||
#else
|
||||
/* parse command tag to retrieve the number of affected rows. */
|
||||
if (completionTag && strncmp(completionTag, "COPY ", 5) == 0)
|
||||
rows = pg_strtouint64(completionTag + 5, NULL, 10);
|
||||
else
|
||||
rows = 0;
|
||||
#endif
|
||||
|
||||
/* calc differences of buffer counters. */
|
||||
memset(&bufusage, 0, sizeof(BufferUsage));
|
||||
|
|
@ -1205,11 +1158,7 @@ pgsm_ProcessUtility(PlannedStmt *pstmt, const char *queryString,
|
|||
INSTR_TIME_GET_MILLISEC(duration), /* exec_total_time */
|
||||
rows, /* rows */
|
||||
&bufusage, /* bufusage */
|
||||
#if PG_VERSION_NUM >= 130000
|
||||
&walusage, /* walusage */
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
NULL, /* jitusage */
|
||||
false, /* reset */
|
||||
PGSM_EXEC); /* kind */
|
||||
|
|
@ -1258,7 +1207,7 @@ pgsm_ProcessUtility(PlannedStmt *pstmt, const char *queryString,
|
|||
context, params, queryEnv,
|
||||
dest,
|
||||
qc);
|
||||
#elif PG_VERSION_NUM >= 130000
|
||||
#else
|
||||
if (prev_ProcessUtility)
|
||||
prev_ProcessUtility(pstmt, queryString,
|
||||
context, params, queryEnv,
|
||||
|
|
@ -1269,17 +1218,6 @@ pgsm_ProcessUtility(PlannedStmt *pstmt, const char *queryString,
|
|||
context, params, queryEnv,
|
||||
dest,
|
||||
qc);
|
||||
#else
|
||||
if (prev_ProcessUtility)
|
||||
prev_ProcessUtility(pstmt, queryString,
|
||||
context, params, queryEnv,
|
||||
dest,
|
||||
completionTag);
|
||||
else
|
||||
standard_ProcessUtility(pstmt, queryString,
|
||||
context, params, queryEnv,
|
||||
dest,
|
||||
completionTag);
|
||||
#endif
|
||||
#if PG_VERSION_NUM >= 170000
|
||||
if (bump_level)
|
||||
|
|
@ -1296,28 +1234,6 @@ pgsm_ProcessUtility(PlannedStmt *pstmt, const char *queryString,
|
|||
}
|
||||
}
|
||||
|
||||
#if PG_VERSION_NUM < 130000
|
||||
static void
|
||||
BufferUsageAccumDiff(BufferUsage *bufusage, BufferUsage *pgBufferUsage, BufferUsage *bufusage_start)
|
||||
{
|
||||
/* calc differences of buffer counters. */
|
||||
bufusage->shared_blks_hit = pgBufferUsage->shared_blks_hit - bufusage_start->shared_blks_hit;
|
||||
bufusage->shared_blks_read = pgBufferUsage->shared_blks_read - bufusage_start->shared_blks_read;
|
||||
bufusage->shared_blks_dirtied = pgBufferUsage->shared_blks_dirtied - bufusage_start->shared_blks_dirtied;
|
||||
bufusage->shared_blks_written = pgBufferUsage->shared_blks_written - bufusage_start->shared_blks_written;
|
||||
bufusage->local_blks_hit = pgBufferUsage->local_blks_hit - bufusage_start->local_blks_hit;
|
||||
bufusage->local_blks_read = pgBufferUsage->local_blks_read - bufusage_start->local_blks_read;
|
||||
bufusage->local_blks_dirtied = pgBufferUsage->local_blks_dirtied - bufusage_start->local_blks_dirtied;
|
||||
bufusage->local_blks_written = pgBufferUsage->local_blks_written - bufusage_start->local_blks_written;
|
||||
bufusage->temp_blks_read = pgBufferUsage->temp_blks_read - bufusage_start->temp_blks_read;
|
||||
bufusage->temp_blks_written = pgBufferUsage->temp_blks_written - bufusage_start->temp_blks_written;
|
||||
bufusage->blk_read_time = pgBufferUsage->blk_read_time;
|
||||
INSTR_TIME_SUBTRACT(bufusage->blk_read_time, bufusage_start->blk_read_time);
|
||||
bufusage->blk_write_time = pgBufferUsage->blk_write_time;
|
||||
INSTR_TIME_SUBTRACT(bufusage->blk_write_time, bufusage_start->blk_write_time);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Given an arbitrarily long query string, produce a hash for the purposes of
|
||||
* identifying the query, without normalizing constants. Used when hashing
|
||||
|
|
@ -2995,7 +2911,6 @@ JumbleExpr(JumbleState *jstate, Node *node)
|
|||
JumbleExpr(jstate, (Node *) expr->aggfilter);
|
||||
}
|
||||
break;
|
||||
#if PG_VERSION_NUM >= 120000
|
||||
case T_SubscriptingRef:
|
||||
{
|
||||
SubscriptingRef *sbsref = (SubscriptingRef *) node;
|
||||
|
|
@ -3006,18 +2921,6 @@ JumbleExpr(JumbleState *jstate, Node *node)
|
|||
JumbleExpr(jstate, (Node *) sbsref->refassgnexpr);
|
||||
}
|
||||
break;
|
||||
#else
|
||||
case T_ArrayRef:
|
||||
{
|
||||
ArrayRef *aref = (ArrayRef *) node;
|
||||
|
||||
JumbleExpr(jstate, (Node *) aref->refupperindexpr);
|
||||
JumbleExpr(jstate, (Node *) aref->reflowerindexpr);
|
||||
JumbleExpr(jstate, (Node *) aref->refexpr);
|
||||
JumbleExpr(jstate, (Node *) aref->refassgnexpr);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
case T_FuncExpr:
|
||||
{
|
||||
FuncExpr *expr = (FuncExpr *) node;
|
||||
|
|
@ -3618,13 +3521,9 @@ fill_in_constant_lengths(JumbleState *jstate, const char *query,
|
|||
/* initialize the flex scanner --- should match raw_parser() */
|
||||
yyscanner = scanner_init(query,
|
||||
&yyextra,
|
||||
#if PG_VERSION_NUM >= 120000
|
||||
&ScanKeywords,
|
||||
ScanKeywordTokens);
|
||||
#else
|
||||
ScanKeywords,
|
||||
NumScanKeywords);
|
||||
#endif
|
||||
|
||||
/* we don't want to re-emit any escape string warnings */
|
||||
yyextra.escape_string_warning = false;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# pg_stat_monitor extension
|
||||
comment = 'The pg_stat_monitor is a PostgreSQL Query Performance Monitoring tool, based on PostgreSQL contrib module pg_stat_statements. pg_stat_monitor provides aggregated statistics, client information, plan details including plan, and histogram information.'
|
||||
default_version = '2.2'
|
||||
default_version = '2.3'
|
||||
module_pathname = '$libdir/pg_stat_monitor'
|
||||
relocatable = true
|
||||
|
|
|
|||
|
|
@ -102,12 +102,7 @@
|
|||
#define MIN_QUERY_LEN 10
|
||||
#define SQLCODE_LEN 20
|
||||
#define TOTAL_RELS_LENGTH (REL_LST * REL_LEN)
|
||||
|
||||
#if PG_VERSION_NUM >= 130000
|
||||
#define MAX_SETTINGS 15
|
||||
#else
|
||||
#define MAX_SETTINGS 14
|
||||
#endif
|
||||
|
||||
/* Update this if need a enum GUC with more options. */
|
||||
#define MAX_ENUM_OPTIONS 6
|
||||
|
|
@ -143,17 +138,6 @@
|
|||
#define PGSM_HASH_SEQ_STATUS HASH_SEQ_STATUS
|
||||
#endif
|
||||
|
||||
|
||||
#if PG_VERSION_NUM < 130000
|
||||
typedef struct WalUsage
|
||||
{
|
||||
long wal_records; /* # of WAL records produced */
|
||||
long wal_fpi; /* # of WAL full page images produced */
|
||||
uint64 wal_bytes; /* size of WAL records produced */
|
||||
} WalUsage;
|
||||
#endif
|
||||
|
||||
|
||||
typedef enum pgsmStoreKind
|
||||
{
|
||||
PGSM_INVALID = -1,
|
||||
|
|
|
|||
|
|
@ -20,14 +20,13 @@ SELECT routine_schema, routine_name, routine_type, data_type FROM information_sc
|
|||
public | pg_stat_monitor_internal | FUNCTION | record
|
||||
public | pg_stat_monitor_reset | FUNCTION | void
|
||||
public | pg_stat_monitor_version | FUNCTION | text
|
||||
public | pgsm_create_11_view | FUNCTION | integer
|
||||
public | pgsm_create_13_view | FUNCTION | integer
|
||||
public | pgsm_create_14_view | FUNCTION | integer
|
||||
public | pgsm_create_15_view | FUNCTION | integer
|
||||
public | pgsm_create_17_view | FUNCTION | integer
|
||||
public | pgsm_create_view | FUNCTION | integer
|
||||
public | range | FUNCTION | ARRAY
|
||||
(14 rows)
|
||||
(13 rows)
|
||||
|
||||
SET ROLE u1;
|
||||
SELECT routine_schema, routine_name, routine_type, data_type FROM information_schema.routines WHERE routine_schema = 'public' ORDER BY routine_name COLLATE "C";
|
||||
|
|
|
|||
|
|
@ -20,14 +20,13 @@ SELECT routine_schema, routine_name, routine_type, data_type FROM information_sc
|
|||
public | pg_stat_monitor_internal | FUNCTION | record
|
||||
public | pg_stat_monitor_reset | FUNCTION | void
|
||||
public | pg_stat_monitor_version | FUNCTION | text
|
||||
public | pgsm_create_11_view | FUNCTION | integer
|
||||
public | pgsm_create_13_view | FUNCTION | integer
|
||||
public | pgsm_create_14_view | FUNCTION | integer
|
||||
public | pgsm_create_15_view | FUNCTION | integer
|
||||
public | pgsm_create_17_view | FUNCTION | integer
|
||||
public | pgsm_create_view | FUNCTION | integer
|
||||
public | range | FUNCTION | ARRAY
|
||||
(14 rows)
|
||||
(13 rows)
|
||||
|
||||
SET ROLE u1;
|
||||
SELECT routine_schema, routine_name, routine_type, data_type FROM information_schema.routines WHERE routine_schema = 'public' ORDER BY routine_name COLLATE "C";
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ CREATE EXTENSION pg_stat_monitor;
|
|||
SELECT pg_stat_monitor_version();
|
||||
pg_stat_monitor_version
|
||||
-------------------------
|
||||
2.2.0
|
||||
2.3.0
|
||||
(1 row)
|
||||
|
||||
DROP EXTENSION pg_stat_monitor;
|
||||
|
|
|
|||
Loading…
Reference in New Issue