From: Nathan Bossart Date: Mon, 7 Oct 2024 21:49:20 +0000 (-0500) Subject: vacuumdb: Schema-qualify operator in catalog query's WHERE clause. X-Git-Tag: REL_12_21~41 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5e0431c32a8f723fcf5b0eea77a4b6144b6abdff;p=thirdparty%2Fpostgresql.git vacuumdb: Schema-qualify operator in catalog query's WHERE clause. Commit 1ab67c9dfa, which modified this catalog query so that it doesn't return temporary relations, forgot to schema-qualify the operator. A comment earlier in the function implores us to fully qualify everything in the query: * Since we execute the constructed query with the default search_path * (which could be unsafe), everything in this query MUST be fully * qualified. This commit fixes that. While at it, add a newline for consistency with surrounding code. Reviewed-by: Noah Misch Discussion: https://postgr.es/m/ZwQJYcuPPUsF0reU%40nathan Backpatch-through: 12 --- diff --git a/src/bin/scripts/vacuumdb.c b/src/bin/scripts/vacuumdb.c index 151580ec449..6ade0c31a9d 100644 --- a/src/bin/scripts/vacuumdb.c +++ b/src/bin/scripts/vacuumdb.c @@ -526,7 +526,8 @@ vacuum_one_database(const ConnParams *cparams, * Exclude temporary tables, beginning the WHERE clause. */ appendPQExpBufferStr(&catalog_query, - " WHERE c.relpersistence != " CppAsString2(RELPERSISTENCE_TEMP)); + " WHERE c.relpersistence OPERATOR(pg_catalog.!=) " + CppAsString2(RELPERSISTENCE_TEMP) "\n"); /*