diff options
author | Nathan Bossart <nathan@postgresql.org> | 2025-02-04 13:26:57 -0600 |
---|---|---|
committer | Nathan Bossart <nathan@postgresql.org> | 2025-02-04 13:26:57 -0600 |
commit | 8703cdec2055d055583ca17ef2d2b5052b064a15 (patch) | |
tree | 27d3d40f1e228b0f453693cf83ec1a02d669f13e /src | |
parent | 254834943388faf950acd5b00308177886b31805 (diff) | |
download | postgresql-8703cdec2055d055583ca17ef2d2b5052b064a15.tar.gz postgresql-8703cdec2055d055583ca17ef2d2b5052b064a15.zip |
vacuumdb: Add missing PQfinish() calls to vacuum_one_database().
A few of the version checks in vacuum_one_database() do not call
PQfinish() before exiting. This precedent was unintentionally
established in commit 00d1e88d36, and while it's probably not too
problematic, it seems better to properly close the connection.
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
Discussion: https://postgr.es/m/Z6JAwqN1I8ljTuXp%40nathan
Backpatch-through: 13
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/scripts/vacuumdb.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/bin/scripts/vacuumdb.c b/src/bin/scripts/vacuumdb.c index 260540f1894..430582cef53 100644 --- a/src/bin/scripts/vacuumdb.c +++ b/src/bin/scripts/vacuumdb.c @@ -558,20 +558,32 @@ vacuum_one_database(ConnParams *cparams, } if (vacopts->min_xid_age != 0 && PQserverVersion(conn) < 90600) + { + PQfinish(conn); pg_fatal("cannot use the \"%s\" option on server versions older than PostgreSQL %s", "--min-xid-age", "9.6"); + } if (vacopts->min_mxid_age != 0 && PQserverVersion(conn) < 90600) + { + PQfinish(conn); pg_fatal("cannot use the \"%s\" option on server versions older than PostgreSQL %s", "--min-mxid-age", "9.6"); + } if (vacopts->parallel_workers >= 0 && PQserverVersion(conn) < 130000) + { + PQfinish(conn); pg_fatal("cannot use the \"%s\" option on server versions older than PostgreSQL %s", "--parallel", "13"); + } if (vacopts->buffer_usage_limit && PQserverVersion(conn) < 160000) + { + PQfinish(conn); pg_fatal("cannot use the \"%s\" option on server versions older than PostgreSQL %s", "--buffer-usage-limit", "16"); + } /* skip_database_stats is used automatically if server supports it */ vacopts->skip_database_stats = (PQserverVersion(conn) >= 160000); |