On Fri, 18 Mar 2022 at 00:22, Zheng Li <zhengl...@gmail.com> wrote: > Hello Japin, >>The new patch change the behavior of publication, when we drop a table >>on publisher, the table also be dropped on subscriber, and this made the >>regression testa failed, since the regression test will try to drop the >>table on subscriber. > >>IMO, we can disable the DDLs replication by default, which makes the >>regression test happy. Any thoughts? > > Good catch, I forgot to run the whole TAP test suite. I think for now > we can simply disable DDL replication for the failing tests when > creating publication: $node_publisher->safe_psql('postgres', > "CREATE PUBLICATION tap_pub FOR ALL TABLES WITH (ddl='')"); > I'll fix it in the next version of patch. I'll also work on breaking > down the patch into smaller pieces for ease of review. >
Oh, it doesn't work. postgres=# CREATE PUBLICATION s1 FOR ALL TABLES WITH(ddl = '');; ERROR: conflicting or redundant options Here is the code, I think, you might mean `if (ddl_level_given == NULL)`. + if (*ddl_level_given) + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("conflicting or redundant options"))); + + /* + * If publish option was given only the explicitly listed actions + * should be published. + */ + pubactions->pubddl_database = false; + pubactions->pubddl_table = false; + + *ddl_level_given = true; -- Regrads, Japin Li. ChengDu WenWu Information Technology Co.,Ltd.