Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

PostgreSQL RDS Parameters Sync

Compare PostgreSQL settings between two databases to detect drift.

Features

Audit particular settings

Example:

$ pgrdsparamsync audit --parameters=max_wal_size

It will get all the databases in the account and region and display their max_wal_size value. Since this can be an expensive operation, a local 1 hour cache is used for each parameter group.

If only a subset of databases is of interest, --db-name-like can be used to filter based on the database name.

Example:

$ pgrdsparamsync audit --parameters=max_wal_size,min_wal_size --db-name-like=production

It will audit only the databases that contain the string "production" in their name and display max_wal_size and min_wal_size.

For reporting, we can also print out the above table in CSV format.

Example:

$ pgrdsparamsync audit --parameters=max_wal_size,min_wal_size --fmt=csv

Compare a database to another or a parameter group

Example:

$ pgrdsparamsync rds-compare --target-db="users-production" --other-db="orders-production"

It will print all the settings that differ between the two databases.

If the goal is to set a standard against the entire database fleet, it is possible to compare a database to a parameter group that represents that standard.

Example:

$ pgrdsparamsync rds-compare --target-db="users-production" --parameter-group="pg-11-standard"

It will print all the settings that differ between the target database and the parameter group.

Compare two databases directly

Example:

$ pgrdsparamsync pg-compare \
--target-db-url="postgres://user:password@users-production.rds.awsamazon.com" \
--other-db-url="postgres://user:password@orders-production.rds.awsamazom.com"

RDS parameter groups use formulas to calculate certain settings (e.g. shared_buffers, effective_cache_size, etc.) by default. Sometimes, it is useful to know the actual value. This will connect to the databases directly, query pg_settings, and print the settings that differ.

Caching

Fetching parameter groups for 100s of databases is long and expensive. We added a local cache with a 1h TTL. It's stored in /tmp/pgrdsparamsync. The first run of the application will be slow, but subsequent runs will be much faster. To increase the TTL or bust the cache, add an environment variable CACHE_TTL with a value that's not 1h, for example $ export CACHE_TTL=7200 which will set the TTL to 2 hours (7200 seconds).

Metadata

Release files for pg-rds-params-sync 0.2a2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pg-rds-params-sync 0.2a2
File Size Uploaded Provenance Actions
pg-rds-params-sync-0.2a2.tar.gz 7.2 kB Without provenance Details for pg-rds-params-sync-0.2a2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pg-rds-params-sync 0.2a2
File Interpreter ABI Platform Actions
pg_rds_params_sync-0.2a2-py3-none-any.whl Python 3 none any Details for pg_rds_params_sync-0.2a2-py3-none-any.whl

Total release size: 15.1 kB

Release files / pg-rds-params-sync-0.2a2.tar.gz

Download URL pg-rds-params-sync-0.2a2.tar.gz
Size 7.2 kB
Tags Source
SHA-256 checksum
How to use checksums
9f40e9c8e4e12629b43cc55a1cd4736b89de1ec0327f182ff4c44cd75b1aed91
BLAKE2b-256 checksum
How to use checksums
c7bfca0106cc1b021b3460e96731c55ec5148daf31e0e5d57d271a97be8eb645
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.5

Release files / pg_rds_params_sync-0.2a2-py3-none-any.whl

Download URL pg_rds_params_sync-0.2a2-py3-none-any.whl
Size 8.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
71a6e1ff93a938f4791a503aaa802f0d449c7ce651a8d3f324186464be179db4
BLAKE2b-256 checksum
How to use checksums
ff994388f4f655ed021768aa6d0b915cf53547694a57154ab6fb08021acca0da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.5

Security for pg-rds-params-sync 0.2a2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page