Thread: pgsql: Ignore dropped and generated columns from the column list.
Ignore dropped and generated columns from the column list. We don't allow different column lists for the same table in the different publications of the single subscription. A publication with a column list except for dropped and generated columns should be considered the same as a publication with no column list (which implicitly includes all columns as part of the columns list). However, as we were not excluding the dropped and generated columns from the column list combining such publications leads to an error "cannot use different column lists for table ...". We decided not to backpatch this fix as there is a risk of users seeing this as a behavior change and also we didn't see any field report of this case. Author: Shi yu Reviewed-by: Amit Kapila Discussion: https://postgr.es/m/OSZPR01MB631091CCBC56F195B1B9ACB0FDFE9@OSZPR01MB6310.jpnprd01.prod.outlook.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/b7ae03953690a1dee455ba3823cc8f71a72cbe1d Modified Files -------------- src/backend/catalog/pg_publication.c | 30 ++++++++++++++++++ src/backend/catalog/system_views.sql | 5 ++- src/backend/replication/pgoutput/pgoutput.c | 17 ++++++++++- src/include/catalog/catversion.h | 2 +- src/test/regress/expected/rules.out | 2 +- src/test/subscription/t/031_column_list.pl | 47 +++++++++++++++++++++++++++++ 6 files changed, 97 insertions(+), 6 deletions(-)