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
This commit is contained in:
Nathan Bossart 2025-02-04 13:26:57 -06:00
parent 061994fb31
commit 8c2dd212d1

View File

@ -461,16 +461,25 @@ 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 (!quiet)
{