feat: railway postgres ha — high-availability cluster management - #1053
Merged
Conversation
8 tasks
paulocsanz
force-pushed
the
pcs/pg-mgmt-06-pitr
branch
from
August 7, 2026 21:01
b710d39 to
bbf6371
Compare
paulocsanz
force-pushed
the
pcs/pg-mgmt-07-ha
branch
from
August 7, 2026 21:01
7eee206 to
a5258f2
Compare
paulocsanz
force-pushed
the
pcs/pg-mgmt-06-pitr
branch
from
August 7, 2026 21:08
bbf6371 to
b423bb6
Compare
paulocsanz
force-pushed
the
pcs/pg-mgmt-07-ha
branch
from
August 7, 2026 21:08
a5258f2 to
0636922
Compare
paulocsanz
force-pushed
the
pcs/pg-mgmt-06-pitr
branch
from
August 7, 2026 21:18
b423bb6 to
76556c1
Compare
paulocsanz
force-pushed
the
pcs/pg-mgmt-07-ha
branch
from
August 7, 2026 21:18
0636922 to
4c83ad9
Compare
paulocsanz
force-pushed
the
pcs/pg-mgmt-06-pitr
branch
from
August 7, 2026 21:39
76556c1 to
fdffce2
Compare
paulocsanz
force-pushed
the
pcs/pg-mgmt-07-ha
branch
from
August 7, 2026 21:39
4c83ad9 to
b099d28
Compare
paulocsanz
force-pushed
the
pcs/pg-mgmt-06-pitr
branch
from
August 7, 2026 22:46
fdffce2 to
1f6fb8d
Compare
paulocsanz
force-pushed
the
pcs/pg-mgmt-07-ha
branch
from
August 7, 2026 22:46
b099d28 to
53697a6
Compare
paulocsanz
changed the base branch from
pcs/pg-mgmt-06-pitr
to
pcs/pg-mgmt-06b-ops-trail
August 7, 2026 22:47
paulocsanz
force-pushed
the
pcs/pg-mgmt-07-ha
branch
from
August 8, 2026 00:20
c68cc45 to
94ba126
Compare
paulocsanz
force-pushed
the
pcs/pg-mgmt-06b-ops-trail
branch
from
August 8, 2026 00:20
d51861a to
0f52297
Compare
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
force-pushed
the
pcs/pg-mgmt-07-ha
branch
from
August 8, 2026 00:34
94ba126 to
db346b3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.