mirror of
https://github.com/outbackdingo/patroni.git
synced 2026-08-25 14:53:37 +00:00
Implementation of "standby cluster" described in #657. Standby cluster consists of a "standby leader", that replicates from a "remote master" (which is not a part of current patroni cluster and can be anywhere), and cascade replicas, that replicate from the corresponding standby leader. "Standby leader" behaves pretty much like a regular leader, which means that it holds a leader lock in DSC, in case if disappears there will be an election of a new "standby leader". One can define such a cluster using the section "standby_cluster" in patroni config file. This section provides parameters for standby cluster, that will be applied only once during bootstrap and can be changed only through DSC.
17 lines
721 B
Gherkin
17 lines
721 B
Gherkin
Feature: standby cluster
|
|
|
|
Scenario: check replication of a single table in a standby cluster
|
|
Given I start postgres0 without slots sync
|
|
And I create a replication slot postgres1 on postgres0
|
|
And I start postgres1 in a standby cluster batman1 as a clone of postgres0
|
|
Then postgres1 is a leader of batman1 after 10 seconds
|
|
When I add the table foo to postgres0
|
|
Then table foo is present on postgres1 after 20 seconds
|
|
When I start postgres2 in a cluster batman1
|
|
Then postgres2 role is the replica after 24 seconds
|
|
And table foo is present on postgres2 after 20 seconds
|
|
|
|
Scenario: check failover
|
|
When I kill postgres1
|
|
Then postgres2 is replicating from postgres0 after 20 seconds
|