From f2f66de7e58f9261a001012627fbc1aaf714a939 Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Tue, 28 Jul 2026 17:01:57 +1000 Subject: [PATCH v1] Fix escapes for psql describe schema patterns --- src/bin/psql/describe.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c index ad9c8affb4f..d75de20a45c 100644 --- a/src/bin/psql/describe.c +++ b/src/bin/psql/describe.c @@ -5327,10 +5327,15 @@ listSchemas(const char *pattern, bool verbose, bool showSystem) "SELECT pubname \n" "FROM pg_catalog.pg_publication p\n" " JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid\n" - " JOIN pg_catalog.pg_namespace n ON n.oid = pn.pnnspid \n" - "WHERE n.nspname = '%s'\n" - "ORDER BY 1", - pattern); + " JOIN pg_catalog.pg_namespace n ON n.oid = pn.pnnspid \n"); + + if (!validateSQLNamePattern(&buf, pattern, false, false, + NULL, "n.nspname", NULL, + NULL, NULL, 2)) + goto error_return; + + appendPQExpBuffer(&buf, "ORDER BY 1;"); + result = PSQLexec(buf.data); if (!result) goto error_return; -- 2.47.3