Skip to content

feat: railway postgres ha — high-availability cluster management - #1053

Merged
paulocsanz merged 1 commit into
masterfrom
pcs/pg-mgmt-07-ha
Aug 8, 2026
Merged

feat: railway postgres ha — high-availability cluster management#1053
paulocsanz merged 1 commit into
masterfrom
pcs/pg-mgmt-07-ha

Conversation

@paulocsanz

@paulocsanz paulocsanz commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Part 8/9 of the railway postgres pitr/ha/pgbouncer stack (split out of #1032 for reviewability — see that PR for the full context, live-prod e2e evidence, and the test-postgres-cli harness). Each PR is based on the previous one and is independently green (cargo test/clippy/fmt).

CLI parity for HA clustering: status (config topology + live Patroni
role/state/lag per member over SSH, joined by each node's identity
variable -- the postgres-ha template AUTHORS the root's Patroni name),
convert (with replica/coordinator/edge count adjustment and a
pre-conversion safety backup), revert (gated on the root being the live
Patroni leader; sweeps the pre-revert member snapshot plus any role-stamped
parentless services afterwards -- the public patch path drops
parentServiceId, so live-scaled members are invisible to parent-chain
topology), scale (live create/delete of whole member services with wiring
restamp; even coordinator counts rejected for quorum), and
switchover/promote through Patroni's REST API.

Part 8/9 of the railway postgres pitr/ha/pgbouncer stack.

@paulocsanz paulocsanz added the release/skip Author no release label Aug 7, 2026
@paulocsanz
paulocsanz force-pushed the pcs/pg-mgmt-06-pitr branch from b710d39 to bbf6371 Compare August 7, 2026 21:01
@paulocsanz
paulocsanz force-pushed the pcs/pg-mgmt-06-pitr branch from bbf6371 to b423bb6 Compare August 7, 2026 21:08
@paulocsanz
paulocsanz force-pushed the pcs/pg-mgmt-06-pitr branch from b423bb6 to 76556c1 Compare August 7, 2026 21:18
@paulocsanz
paulocsanz force-pushed the pcs/pg-mgmt-06-pitr branch from 76556c1 to fdffce2 Compare August 7, 2026 21:39
@paulocsanz
paulocsanz force-pushed the pcs/pg-mgmt-06-pitr branch from fdffce2 to 1f6fb8d Compare August 7, 2026 22:46
@paulocsanz
paulocsanz changed the base branch from pcs/pg-mgmt-06-pitr to pcs/pg-mgmt-06b-ops-trail August 7, 2026 22:47
@paulocsanz
paulocsanz force-pushed the pcs/pg-mgmt-06b-ops-trail branch from d51861a to 0f52297 Compare August 8, 2026 00:20
Base automatically changed from pcs/pg-mgmt-06b-ops-trail to master August 8, 2026 00:32
CLI parity for HA clustering: status (config topology + live Patroni
role/state/lag per member over SSH, joined by each node's identity
variable -- the postgres-ha template AUTHORS the root's Patroni name),
convert (with replica/coordinator/edge count adjustment and a
pre-conversion safety backup), revert (gated on the root being the live
Patroni leader; sweeps the pre-revert member snapshot plus any role-stamped
parentless services afterwards -- the public patch path drops
parentServiceId, so live-scaled members are invisible to parent-chain
topology), scale (live create/delete of whole member services with wiring
restamp; even coordinator counts rejected for quorum), and
switchover/promote through Patroni's REST API.

Part 7/8 of the railway postgres pitr/ha/pgbouncer stack.
@paulocsanz
paulocsanz merged commit a80b067 into master Aug 8, 2026
7 checks passed
@paulocsanz
paulocsanz deleted the pcs/pg-mgmt-07-ha branch August 8, 2026 00:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release/skip Author no release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant