@@ -47,12 +47,6 @@ The `bdr_init_physical` utility replaces the functionality of the
47
47
` bdr_init_copy ` utility from BDR1 and BDR2. It is the BDR3 equivalent of the
48
48
pglogical ` pglogical_create_subscriber ` utility.
49
49
50
- !!! Warning
51
- Only one node at the time should join the BDR node group, or be
52
- parted from it. If a new node is being joined while there is
53
- another join or part operation in progress, the new node will
54
- sometimes not have consistent data after the join has finished.
55
-
56
50
When a new BDR node is joined to an existing BDR group or a node is subscribed
57
51
to an upstream peer, before replication can begin, the system must copy the
58
52
existing data from the peer node(s) to the local node. This copy must be
@@ -87,10 +81,12 @@ performs data sync doing `COPY` operations and will use multiple writers
87
81
(parallel apply) if those are enabled.
88
82
89
83
Node join can execute concurrently with other node joins for the majority of
90
- the time taken to join. Only one regular node at a time can be in either of
91
- the states PROMOTE or PROMOTING, which are typically fairly short.
92
- The subscriber-only nodes are an exception to this rule, and they can be
93
- cocurrently in PROMOTE and PROMOTING states as well.
84
+ the time taken to join. However, only one regular node at a time can be in
85
+ either of the states PROMOTE or PROMOTING, which are typically fairly short if
86
+ all other nodes are up and running, otherwise the join will get serialized at
87
+ this stage. The subscriber-only nodes are an exception to this rule, and they
88
+ can be concurrently in PROMOTE and PROMOTING states as well, so their join
89
+ process is fully concurrent.
94
90
95
91
Note that the join process uses only one node as the source, so can be
96
92
executed when nodes are down, if a majority of nodes are available.
@@ -871,43 +867,6 @@ as `STANDBY`.
871
867
872
868
Only one node at a time can be in either of the states PROMOTE or PROMOTING.
873
869
874
- ## Managing Shard Groups
875
-
876
- BDR clusters may contain an array of Shard Groups for the AutoScale feature.
877
- These are shown as a sub-node group that is composed of an array of
878
- sub-sub node groups known as Shard Groups.
879
-
880
- Operations that can be performed on the Shard Group are:
881
-
882
- - Create Shard Array
883
- - Drop Shard Array
884
- - Repair - add new nodes to replace failed nodes
885
- - Expand - add new Shard Groups
886
- - Re-Balance - re-distribute data across Shard Groups
887
-
888
- ### Create/Drop
889
-
890
- ### Expand
891
-
892
- e.g. expand from 4 Shard Groups to 8 Shard Groups
893
-
894
- This operation can occur without interfering with user operations.
895
-
896
- ### Re-Balance
897
-
898
- e.g. move data from where it was in a 4-node array to how it would be ideally
899
- placed in an 8-node array.
900
-
901
- Some portion of the data is moved from one Shard Group to another,
902
- so this action can take an extended period, depending upon how
903
- much data is to be moved. The data is moved one partition at a
904
- time, so is restartable without too much wasted effort.
905
-
906
- Note that re-balancing is optional.
907
-
908
- This operation can occur without interfering with user operations,
909
- even when this includes write transactions.
910
-
911
870
## Node Management Interfaces
912
871
913
872
Nodes can be added and removed dynamically using the SQL interfaces.
@@ -995,7 +954,7 @@ This function creates a BDR group with the local node as the only member of the
995
954
996
955
``` sql
997
956
bdr .create_node_group (node_group_name text ,
998
- parent_group_name text ,
957
+ parent_group_name text DEFAULT NULL ,
999
958
join_node_group boolean DEFAULT true,
1000
959
node_group_type text DEFAULT NULL )
1001
960
```
@@ -1017,9 +976,8 @@ bdr.create_node_group(node_group_name text,
1017
976
changes to other nodes. See [ Subscriber-Only Nodes] for more details.
1018
977
Datanode implies that the group represents a shard, whereas the other
1019
978
values imply that the group represents respective coordinators.
1020
- Except 'subscriber-only', the rest three values are reserved for use
1021
- with a separate extension called autoscale. NULL implies a normal
1022
- general purpose node group will be created.
979
+ Except 'subscriber-only', the rest three values are reserved for future use.
980
+ NULL implies a normal general purpose node group will be created.
1023
981
1024
982
#### Notes
1025
983
@@ -1425,6 +1383,7 @@ bdr_init_physical [OPTION] ...
1425
1383
1426
1384
- ` --hba-conf -path ` to the new pg_hba.conf
1427
1385
- ` --postgresql-conf ` - path to the new postgresql.conf
1386
+ - ` --postgresql-auto-conf ` - path to the new postgresql.auto.conf
1428
1387
1429
1388
#### Notes
1430
1389
0 commit comments