pg_track_settings

Track settings changes

Overview

PackageVersionCategoryLicenseLanguage
pg_track_settings2.1.2STATPostgreSQLSQL
IDExtensionBinLibLoadCreateTrustRelocSchema
6260pg_track_settingsNoYesNoYesYesNo-
Relatedpg_show_plans powa pg_stat_statements pg_profile pg_store_plans auto_explain pg_stat_kcache pg_qualstats

Version

TypeRepoVersionPG VerPackageDeps
EXTPGDG2.1.21817161514pg_track_settings-
RPMPGDG2.1.21817161514pg_track_settings_$v-
DEBPGDG2.1.21817161514postgresql-$v-pg-track-settings-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
el8.aarch64
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
el9.x86_64
el9.aarch64
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
el10.x86_64
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
el10.aarch64
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
d12.x86_64
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
d12.aarch64
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
d13.x86_64
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
d13.aarch64
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
u22.x86_64
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
u22.aarch64
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
u24.x86_64
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
u24.aarch64
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2
PGDG 2.1.2

Install

You can install pg_track_settings directly. First, make sure the PGDG repository is added and enabled:

pig repo add pgdg -u          # Add PGDG repo and update cache

Install the extension using pig or apt/yum/dnf:

pig install pg_track_settings;          # Install for current active PG version
pig ext install -y pg_track_settings -v 18  # PG 18
pig ext install -y pg_track_settings -v 17  # PG 17
pig ext install -y pg_track_settings -v 16  # PG 16
pig ext install -y pg_track_settings -v 15  # PG 15
pig ext install -y pg_track_settings -v 14  # PG 14
dnf install -y pg_track_settings_18       # PG 18
dnf install -y pg_track_settings_17       # PG 17
dnf install -y pg_track_settings_16       # PG 16
dnf install -y pg_track_settings_15       # PG 15
dnf install -y pg_track_settings_14       # PG 14
apt install -y postgresql-18-pg-track-settings   # PG 18
apt install -y postgresql-17-pg-track-settings   # PG 17
apt install -y postgresql-16-pg-track-settings   # PG 16
apt install -y postgresql-15-pg-track-settings   # PG 15
apt install -y postgresql-14-pg-track-settings   # PG 14

Create Extension:

CREATE EXTENSION pg_track_settings;

Usage

pg_track_settings: track PostgreSQL configuration changes

pg_track_settings records changes to PostgreSQL settings over time, tracking both global settings (pg_settings) and per-role/database overrides (pg_db_role_setting).

Taking Snapshots

Call periodically (via cron or PoWA) to capture current settings:

SELECT pg_track_settings_snapshot();

Viewing Settings at a Point in Time

-- All settings at a specific time
SELECT * FROM pg_track_settings('2024-01-15 10:00:00');

-- All overloaded (per-role/database) settings at a specific time
SELECT * FROM pg_track_db_role_settings('2024-01-15 10:00:00');

Comparing Settings Between Two Times

-- Find what changed in the last hour
SELECT * FROM pg_track_settings_diff(now() - interval '1 hour', now());

-- Compare overloaded settings
SELECT * FROM pg_track_db_role_settings_diff(now() - interval '1 hour', now());

Viewing Change History

-- History of a specific setting
SELECT * FROM pg_track_settings_log('work_mem');

-- History of an overloaded setting
SELECT * FROM pg_track_db_role_settings_log('work_mem');

-- PostgreSQL restart history
SELECT * FROM pg_reboot;

Resetting History

SELECT pg_track_settings_reset();

Functions Summary

FunctionDescription
pg_track_settings_snapshot()Capture current settings
pg_track_settings(timestamptz)All settings at a given time
pg_track_settings_diff(timestamptz, timestamptz)Settings that changed between two times
pg_track_settings_log(text)History of a specific setting
pg_track_db_role_settings(timestamptz)Overloaded settings at a given time
pg_track_db_role_settings_diff(timestamptz, timestamptz)Overloaded settings changes
pg_track_db_role_settings_log(text)History of a specific overloaded setting
pg_track_settings_reset()Clear all history

Last Modified 2026-03-12: add pg extension catalog (95749bf)