Skip to content

feat(data): manage Postgres Advanced logical replication - #3902

Open
jdowning wants to merge 1 commit into
mainfrom
logical-replication
Open

feat(data): manage Postgres Advanced logical replication#3902
jdowning wants to merge 1 commit into
mainfrom
logical-replication

Conversation

@jdowning

@jdowning jdowning commented Sep 3, 2026

Copy link
Copy Markdown
Member

Summary

Add commands to enable logical replication publishing and subscribing on Postgres Advanced databases.

Add publication list, info, create, update, and destroy operations with table and schema scoped targets. Include --all-schemas as an opinionated setup path for all current customer schemas, while making its non-continuous behavior explicit.

Resolve and reject non-Advanced databases before contacting the Data API, preserve destructive confirmation for publication removal, and cover the command flows with unit tests.

Type of Change

Breaking Changes (major semver update)

  • Add a ! after your change type to denote a change that breaks current behavior

Feature Additions (minor semver update)

  • feat: Introduces a new feature to the codebase

Patch Updates (patch semver update)

  • fix: Bug fix
  • deps: Dependency upgrade
  • revert: Revert a previous commit
  • chore: Change that does not affect production code
  • refactor: Refactoring existing code without changing behavior
  • test: Add/update/remove tests

Testing

Notes:

❯ heroku data:pg:logical-replication:publications postgresql-justin-animated-23578 -a justin-lr-test
  Name      New Tables     Owner            Target
 ───────────────────────────────────────────────────────────
  onepub    included       ubitise4r2c94d   schemas: one
  testpub   included       ubitise4r2c94d   schemas: public
  twopub    not included   ubitise4r2c94d   tables: two.foo
  
❯ heroku data:pg:logical-replication:publications:info --name testpub postgresql-justin-animated-23578 -a justin-lr-test
Name:                testpub
Owner:               ubitise4r2c94d
Target:              schemas: public
Current Tables:      public.bar, public.baz, public.foo, public.pgbench_accounts, public.pgbench_branches, public.pgbench_history, public.pgbench_tellers, public.test
Includes New Tables: yes

Steps:

  1. Replace this text with a list of steps used to validate changes or type 'Passing CI suffices'.
  2. ...

Screenshots (if applicable)

Related Issues

GitHub issue: #[GitHub issue number]
GUS work item: W-24080815

Add commands to enable logical replication publishing and subscribing\non Postgres Advanced databases.\n\nAdd publication list, info, create, update, and destroy operations\nwith table- and schema-scoped targets. Include --all-schemas as an\nopinionated setup path for all current customer schemas, while making\nits non-continuous behavior explicit.\n\nResolve and reject non-Advanced databases before contacting the Data\nAPI, preserve destructive confirmation for publication removal, and\ncover the command flows with unit tests.
@jdowning
jdowning requested a review from a team as a code owner September 3, 2026 00:18
@jdowning
jdowning deployed to AcceptanceTests September 3, 2026 00:18 — with GitHub Actions Active
@jdowning
jdowning deployed to AcceptanceTests September 3, 2026 00:18 — with GitHub Actions Active
@jdowning
jdowning deployed to AcceptanceTests September 3, 2026 00:18 — with GitHub Actions Active
@jdowning
jdowning deployed to AcceptanceTests September 3, 2026 00:18 — with GitHub Actions Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant