Skip to content

RDSC-6238: Clarify PostgreSQL publication safety for RDI and Redis Cloud - #4273

Open
ZdravkoDonev-redis wants to merge 5 commits into
mainfrom
docs/rdi-postgresql-publication-safety
Open

ZdravkoDonev-redis wants to merge 5 commits into
mainfrom
docs/rdi-postgresql-publication-safety

Conversation

@ZdravkoDonev-redis

@ZdravkoDonev-redis ZdravkoDonev-redis commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

Related ticket: RDSC-6238. The product advisory is implemented separately in core RDI #2905.

PostgreSQL sources can publish tables outside the RDI table selection when a publication uses FOR ALL TABLES. Application updates or deletes can then fail on published tables without replica identity, including tables RDI does not capture.

Changes

  • Use an explicit table-list publication with publication.autocreate.mode: disabled in the Aurora/RDS preparation example. Explain filtered as the alternative when RDI has publication-management permissions; keep the product default unchanged.
  • Add PostgreSQL publication settings to the Redis Cloud source preparation, pipeline creation, and quick-start instructions. Distinguish ingestion selection and Redis record keys from PostgreSQL publication membership and replica identity.
  • Explain how administrators replace existing all-tables publications, coordinate other consumers, and preserve replication slots and RDI offsets. Switching to filtered alone cannot convert an all-tables publication, and leaving the old broad publication in place retains its write restrictions.
  • Link REPLICA IDENTITY FULL to child-table nesting. Explain old row values and unchanged TOAST values instead of saying PostgreSQL events contain only changed fields.
  • Add replica-identity and publication-maintenance guidance to Supabase preparation. Keep current and 1.19.1 database and denormalization guidance aligned.

Validation

  • Checked publication behavior against PostgreSQL documentation/source and Debezium 3.0 documentation; inspected the Cloud quick-start Terraform example and PostgreSQL initialization scripts.
  • Checked the rendered output of all 11 edited pages and 57 PostgreSQL, Cloud setup, and denormalization links/fragments. Current and 1.19.1 additions match after normalizing versioned links.
  • No live database or Cloud pipeline qualification was run; this change updates documentation only.

Note

Low Risk
Documentation-only updates with no runtime or configuration code changes.

Overview
Documentation now explains how PostgreSQL logical replication publications interact with RDI table selection and why broad FOR ALL TABLES publications can break application writes on tables without replica identity.

The PostgreSQL preparation guide gains a checklist step and a large new section on replica identity (diagnostic SQL, fixes, TOAST/old-row behavior), publication.autocreate.mode (all_tables, filtered, disabled), admin-managed explicit publications, migrating off all-tables publications (coordination, slots/offsets), and a publication error FAQ. Aurora/RDS and Supabase examples switch from FOR ALL TABLES to table-list rdi_publication and point to collector/config.yaml settings.

Redis Cloud docs add a PostgreSQL publications section and clarify that console table selection and Redis keys do not change publication membership or PostgreSQL replica identity; quick start recommends publication.autocreate.mode: filtered. Denormalization/nesting text is tightened and cross-linked for when REPLICA IDENTITY FULL is required. Changes are mirrored in current and 1.19.1 RDI doc trees.

Reviewed by Cursor Bugbot for commit 01a1a43. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

🧠 Redis Memory

Found 11 related items from repository history (2 new this commit):

Memory updated at 01a1a43

Comment thread content/integrate/redis-data-integration/data-pipelines/prepare-dbs/postgresql.md Outdated
Comment thread content/integrate/redis-data-integration/data-pipelines/prepare-dbs/postgresql.md Outdated

@andy-stark-redis andy-stark-redis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ZdravkoDonev-redis

Copy link
Copy Markdown
Collaborator Author

Waiting on comments/approval from @ilianiliev-redis

@ZdravkoDonev-redis ZdravkoDonev-redis changed the title DOC: clarify PostgreSQL publication setup for RDI DOC: clarify PostgreSQL publication safety for RDI and Redis Cloud Oct 18, 2026
@ZdravkoDonev-redis

ZdravkoDonev-redis commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator Author

The replica identity preflight query is corrected in 01a1a43 on both current and 1.19.1 pages. It now checks that the primary or replica-identity index is live, valid, unique, immediate, and has no predicate. A deferrable primary key is therefore reported instead of being treated as a usable identity. The guidance calls this out explicitly.

The index rules were checked against PostgreSQL 16 RelationGetIndexList. Static diff checks passed; the SQL additions match between both page versions. Live SQL and Cloud qualification remain deferred, so this is not a runtime sign-off.

Related implementation is kept separate in RDSC-6238 / core RDI #2905. Remaining Aurora grant and networking corrections are separate drafts #4293 and #4294, under RDSC-6239.

@ZdravkoDonev-redis ZdravkoDonev-redis changed the title DOC: clarify PostgreSQL publication safety for RDI and Redis Cloud RDSC-6238: Clarify PostgreSQL publication safety for RDI and Redis Cloud Oct 18, 2026
Comment thread content/integrate/redis-data-integration/data-pipelines/prepare-dbs/postgresql.md Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants