Fix pg_publication_tables to exclude generated columns
Yu Shi (Fujitsu) <shiy.fnst@fujitsu.com>
From: "shiy.fnst@fujitsu.com" <shiy.fnst@fujitsu.com>
To: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-01-09T11:59:11Z
Lists: pgsql-hackers
Attachments
- v1-0002-Test-for-column-list-check-in-tablesync.patch (application/octet-stream) patch v1-0002
- v1-0001-Modify-pg_get_publication_tables-to-show-all-colu.patch (application/octet-stream) patch v1-0001
Hi hackers, I noticed that there is a problem about system view pg_publication_tables when looking into [1]. The column "attnames" contains generated columns when no column list is specified, but generated columns shouldn't be included because they are not replicated (see send_relation_and_attrs()). I think one way to fix it is to modify pg_publication_tables query to exclude generated columns. But in this way, we need to bump catalog version when fixing it in back-branch. Another way is to modify function pg_get_publication_tables()'s return value to contain all supported columns if no column list is specified, and we don't need to change system view. Attach the patch for HEAD, and we can ignore the changes of the system view in PG15. [1] https://www.postgresql.org/message-id/OSZPR01MB631087C65BA81E1FEE5A60D2FDF59%40OSZPR01MB6310.jpnprd01.prod.outlook.com Regards, Shi yu
Commits
-
Ignore dropped and generated columns from the column list.
- b7ae03953690 16.0 landed