Re: Skipping schema changes in publication
Peter Smith <smithpb2250@gmail.com>
From: Peter Smith <smithpb2250@gmail.com>
To: vignesh C <vignesh21@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-05-16T09:23:14Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix miscellaneous issues in EXCEPT publication clause.
- 6b0550c45d13 19 (unreleased) landed
-
Change syntax of EXCEPT TABLE clause in publication commands.
- 5984ea868eee 19 (unreleased) landed
-
Add support for EXCEPT TABLE in ALTER PUBLICATION.
- 493f8c6439cf 19 (unreleased) landed
-
Allow table exclusions in publications via EXCEPT TABLE.
- fd366065e06a 19 (unreleased) landed
-
Add wait_for_subscription_sync for TAP tests.
- 0c20dd33db16 16.0 cited
Below are my review comments for v5-0001. There is some overlap with comments recently posted by Osumi-san [1]. (I also have review comments for v5-0002; will post them tomorrow) ====== 1. Commit message This patch adds a new RESET clause to ALTER PUBLICATION which will reset the publication to default state which includes resetting the publication options, setting ALL TABLES option to false and dropping the relations and schemas that are associated with the publication. SUGGEST "to default state" -> "to the default state" "ALL TABLES option" -> "ALL TABLES flag" ~~~ 2. doc/src/sgml/ref/alter_publication.sgml + <para> + The <literal>RESET</literal> clause will reset the publication to the + default state which includes resetting the publication options, setting + <literal>ALL TABLES</literal> option to <literal>false</literal> and + dropping all relations and schemas that are associated with the publication. </para> "ALL TABLES option" -> "ALL TABLES flag" ~~~ 3. doc/src/sgml/ref/alter_publication.sgml + invoking user to be a superuser. <literal>RESET</literal> of publication + requires the invoking user to be a superuser. To alter the owner, you must SUGGESTION To <literal>RESET</literal> a publication requires the invoking user to be a superuser. ~~~ 4. src/backend/commands/publicationcmds.c @@ -53,6 +53,13 @@ #include "utils/syscache.h" #include "utils/varlena.h" +#define PUB_ATION_INSERT_DEFAULT true +#define PUB_ACTION_UPDATE_DEFAULT true +#define PUB_ACTION_DELETE_DEFAULT true +#define PUB_ACTION_TRUNCATE_DEFAULT true +#define PUB_VIA_ROOT_DEFAULT false +#define PUB_ALL_TABLES_DEFAULT false 4a. Typo: "ATION" -> "ACTION" 4b. I think these #defines deserve a 1 line comment. e.g. /* CREATE PUBLICATION default values for flags and options */ 4c. Since the "_DEFAULT" is a common part of all the names, maybe it is tidier if it comes first. e.g. #define PUB_DEFAULT_ACTION_INSERT true #define PUB_DEFAULT_ACTION_UPDATE true #define PUB_DEFAULT_ACTION_DELETE true #define PUB_DEFAULT_ACTION_TRUNCATE true #define PUB_DEFAULT_VIA_ROOT false #define PUB_DEFAULT_ALL_TABLES false ------ [1] https://www.postgresql.org/message-id/TYCPR01MB8373C3120C2B3112001ED6F1EDCF9%40TYCPR01MB8373.jpnprd01.prod.outlook.com Kind Regards, Peter Smith. Fujitsu Australia