BUG #18644: ALTER PUBLICATION ... SET (publish_via_partition_root) wrong/undocumented behavior.
PG Bug reporting form <noreply@postgresql.org>
From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: maxim.boguk@gmail.com
Date: 2024-10-01T13:50:17Z
Lists: pgsql-bugs
The following bug has been logged on the website: Bug reference: 18644 Logged by: Maxim Boguk Email address: maxim.boguk@gmail.com PostgreSQL version: 15.8 Operating system: Ubuntu Description: Hi, When ALTER PUBLICATION ... SET (publish_via_partition_root) executed on the existing logical replication with data (following ALTER SUBSCRIPTION ... REFRESH PUBLICATION), the database start copy whole partitioned table from start (thus breaking existing logical replication). What's worse - I didn't found any way get out of such situation less than redo all multi-TB logical replication from blank db. Also ALTER SUBSCRIPTION ... REFRESH PUBLICATION (copy_data=false) - cannot be used as workaround because it lead to loose any changes in partitioned table between run ALTER PUBLICATION and ALTER SUBSCRIPTION. Afterthought this behavior not surprising at all but I think better to document it somewhere (or even better disable ALTER PUBLICATION ... SET (publish_via_partition_root) for any publication with existing subscriptions because it will break things for sure). After I look into pub/sub code - I feel it will be very complicated task to make it work correctly. -- Maxim
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Doc: Add a caution in alter publication.
- b8a046081c43 18.0 landed