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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.