Fix replica identity check for MERGE.
Dean Rasheed <dean.a.rasheed@gmail.com>
Fix replica identity check for MERGE. When executing a MERGE, check that the target relation supports all actions mentioned in the MERGE command. Specifically, check that it has a REPLICA IDENTITY if it publishes updates or deletes and the MERGE command contains update or delete actions. Failing to do this can silently break replication. Author: Zhijie Hou <houzj.fnst@fujitsu.com> Reviewed-by: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com> Reviewed-by: Dean Rasheed <dean.a.rasheed@gmail.com> Tested-by: Chao Li <li.evan.chao@gmail.com> Discussion: https://postgr.es/m/OS3PR01MB57180C87E43A679A730482DF94B62@OS3PR01MB5718.jpnprd01.prod.outlook.com Backpatch-through: 15
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/executor/execMain.c | modified | +10 −1 |
| src/test/regress/expected/publication.out | modified | +28 −0 |
| src/test/regress/sql/publication.sql | modified | +31 −0 |
Discussion
- Fix replica identity checks for MERGE command on published table. 10 messages · 2025-04-11 → 2025-09-04