]> git.ipfire.org Git - thirdparty/postgresql.git/commit
pg_dump: Fix incorrect parsing of object types in pg_dump --filter.
authorFujii Masao <fujii@postgresql.org>
Fri, 8 Aug 2025 05:36:39 +0000 (14:36 +0900)
committerFujii Masao <fujii@postgresql.org>
Fri, 8 Aug 2025 05:36:39 +0000 (14:36 +0900)
commit85ccd7e30a6dd378e025a918916f7b1d72004001
tree2efaacc28a82456928a958cca6720c5b76401573
parent62a1211d3389095b685a4f80f7b864794cf114f6
pg_dump: Fix incorrect parsing of object types in pg_dump --filter.

Previously, pg_dump --filter could misinterpret invalid object types
in the filter file as valid ones. For example, the invalid object type
"table-data" (likely a typo for the valid "table_data") could be
mistakenly recognized as "table", causing pg_dump to succeed
when it should have failed.

This happened because pg_dump identified keywords as sequences of
ASCII alphabetic characters, treating non-alphabetic characters
(like hyphens) as keyword boundaries. As a result, "table-data" was
parsed as "table".

To fix this, pg_dump --filter now treats keywords as strings of
non-whitespace characters, ensuring invalid types like "table-data"
are correctly rejected.

Back-patch to v17, where the --filter option was introduced.

Author: Fujii Masao <masao.fujii@gmail.com>
Reviewed-by: Xuneng Zhou <xunengzhou@gmail.com>
Reviewed-by: Srinath Reddy <srinath2133@gmail.com>
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
Discussion: https://postgr.es/m/CAHGQGwFzPKUwiV5C-NLBqz1oK1+z9K8cgrF+LcxFem-p3_Ftug@mail.gmail.com
Backpatch-through: 17
src/bin/pg_dump/filter.c
src/bin/pg_dump/t/005_pg_dump_filterfile.pl