Skip to main content

View and manage PostgteSQL vacuums and autovacuums.

Project description

pg-vacuum

Managing PostgreSQL vacuums/autovacuums. This little tool will hopefully make managing the craziness that Postgres autovacuum is a little easier.

Features

Show current vacuums/autovacuums

It will show you how long the vacuums are running for and how much is left to do.

$ pgvacuum --database=postgres://localhost/db

+-------+--------------------------------------+----------------------------------+----------------+
|  PID  |                Query                 |             Started              |    Duration    |
+-------+--------------------------------------+----------------------------------+----------------+
| 13368 |  autovacuum: VACUUM public.drivers   | 2020-04-16 14:19:17.289047+00:00 | 0:53:24.403651 |
| 80617 | autovacuum: VACUUM public.old_carts  | 2020-04-16 14:16:17.484278+00:00 | 0:56:24.208420 |
| 92409 | autovacuum: VACUUM public.table_one_ | 2020-04-16 13:21:37.663504+00:00 | 1:51:04.029194 |
| 79790 |  autovacuum: VACUUM public.devices   | 2020-04-16 14:44:18.791010+00:00 | 0:28:22.901688 |
| 97037 |   autovacuum: VACUUM public.users    | 2020-04-16 12:21:10.163915+00:00 | 2:51:31.528783 |
+-------+--------------------------------------+----------------------------------+----------------+

Show progress of vacuums/autovacuums

$ pgvacuum --database=postgres://localhost/db --progress

+-------+------------+-------------------+----------+----------------------------------+----------------+
|  PID  |   Table    |       Phase       | Progress |             Started              |    Duration    |
+-------+------------+-------------------+----------+----------------------------------+----------------+
| 92409 | table_one_ | vacuuming indexes |   100    | 2020-04-16 13:21:37.663504+00:00 | 1:54:48.656212 |
| 97037 |   users    | vacuuming indexes |   100    | 2020-04-16 12:21:10.163915+00:00 | 2:55:16.155801 |
| 79790 |  devices   | vacuuming indexes |   100    | 2020-04-16 14:44:18.791010+00:00 | 0:32:07.528706 |
| 13368 |  table_t   | vacuuming indexes |   100    | 2020-04-16 14:19:17.289047+00:00 | 0:57:09.030669 |
| 80617 | old_carts  | vacuuming indexes |   100    | 2020-04-16 14:16:17.484278+00:00 | 1:00:08.835438 |
+-------+------------+-------------------+----------+----------------------------------+----------------+

Enable/disable autovacuum on a table

# Disable the autovacuum on this table
$ pgvacuum --database=postgres://localhost/db --table=my_table --disable

# Enable the autovacuum on this table
$ pgvacuum --database=postgres://localhost/db --table=my_table --enable

Show table settings

Show what current settings are set on the table.

$ pgvacuum --database=postgres://localhost/db --table=my_table

+--------------------------------+-----------+
|            Setting             |   Value   |
+--------------------------------+-----------+
|   autovacuum_freeze_max_age    | 500000000 |
| autovacuum_vacuum_scale_factor |    0.02   |
|       autovacuum_enabled       |   false   |
+--------------------------------+-----------+

Show autovacuum settings

Show current database autovacuum settings.

pgvacuum --database=postgres://localhost/src --settings

+---------------------------------+-----------+
|             Setting             |   Value   |
+---------------------------------+-----------+
|   autovacuum_vacuum_cost_delay  |    2ms    |
|   autovacuum_vacuum_cost_limit  |    200    |
|        autovacuum_naptime       |    1min   |
|  autovacuum_vacuum_scale_factor |    0.2    |
| autovacuum_analyze_scale_factor |    0.1    |
|    autovacuum_freeze_max_age    | 200000000 |
|           track_counts          |     on    |
+---------------------------------+-----------+

Terminate the autovacuums

Ok, you've had enough of it.

$ pgvacuum --database=postgres://localhost/db --kill=1234

where 1234 is the PID of the vacuum/autovacuum process.

Arguments

  1. --database (required), DSN or postgres:// URL for the database,
  2. --progress, show the progress of running vacuums,
  3. --table, show settings for this table,
  4. --enable/disable, to be used in conjunction with --table to enable/disable autovacuum on it,
  5. --kill, kill the autovacuum/vacuum with this PID,
  6. --settings, show settings for the database.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pg-vacuum-0.1a10.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

pg_vacuum-0.1a10-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file pg-vacuum-0.1a10.tar.gz.

File metadata

  • Download URL: pg-vacuum-0.1a10.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for pg-vacuum-0.1a10.tar.gz
Algorithm Hash digest
SHA256 8e6bcbd24af588d70658e52caa95f1efbafab4eee3aba7c1a3bb8d75290ab033
MD5 a49af63dd59f18f828ba7e2c508a1419
BLAKE2b-256 acb3d306e39b3ccf6b0bb737035f2414a705b663f1b776c59a9cbee81e9e92f3

See more details on using hashes here.

File details

Details for the file pg_vacuum-0.1a10-py3-none-any.whl.

File metadata

  • Download URL: pg_vacuum-0.1a10-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for pg_vacuum-0.1a10-py3-none-any.whl
Algorithm Hash digest
SHA256 b708f1d030f960724280c2e4b72a73a92856e2044151e325f0336e186a7f59e7
MD5 b4fcc3c8f87467b6a4c8b24cb8f1abab
BLAKE2b-256 65b4fe62fa8c9b3dce76cbced9689bfd5308b5382951f5d8214165ea12016898

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page