I'm sorry, I didn't send the correct information about node 2...

Here's what I get on all three nodes after I take a snapshot on node 1 and
bring it up on node 3...

*=== On Node 1: ===*
bdrdemo=# select bdr.bdr_get_local_nodeid();
     bdr_get_local_nodeid
-------------------------------
 (*6239328434665526195,1,16385*)
(1 row)

bdrdemo=# select bdr.bdr_get_local_node_name();
 bdr_get_local_node_name
-------------------------
 node1
(1 row)

bdrdemo=# SELECT * FROM pg_replication_slots;
                slot_name                | plugin | slot_type | datoid |
database | active | xmin | catalog_xmin | restart_lsn
-----------------------------------------+--------+-----------+--------+----------+--------+------+--------------+-------------
 bdr_16385_6241964183952916534_1_16385__ | bdr    | logical   |  16385 |
bdrdemo  | t      |      |         4593 | 0/123E9808


*=== On Node 2: ===*
bdrdemo=# select bdr.bdr_get_local_nodeid();
     bdr_get_local_nodeid
-------------------------------
 (*6241964183952916534,1,16385*)
(1 row)

bdrdemo=# select bdr.bdr_get_local_node_name();
 bdr_get_local_node_name
-------------------------
 node2
(1 row)

bdrdemo=# SELECT * FROM pg_replication_slots;
                slot_name                | plugin | slot_type | datoid |
database | active | xmin | catalog_xmin | restart_lsn
-----------------------------------------+--------+-----------+--------+----------+--------+------+--------------+-------------
 bdr_16385_6239328434665526195_1_16385__ | bdr    | logical   |  16385 |
bdrdemo  | t      |      |         3039 | 0/4EB0D28
(1 row)

*=== On Node 3: ===*
bdrdemo=#  select bdr.bdr_get_local_nodeid();
     bdr_get_local_nodeid
-------------------------------
 (*6239328434665526195,1,16385*)
(1 row)

bdrdemo=# select bdr.bdr_get_local_node_name();
 bdr_get_local_node_name
-------------------------
 node1
(1 row)

bdrdemo=# SELECT * FROM pg_replication_slots;
 slot_name | plugin | slot_type | datoid | database | active | xmin |
catalog_xmin | restart_lsn
-----------+--------+-----------+--------+----------+--------+------+--------------+-------------
(0 rows)


On Thu, Jan 21, 2016 at 10:46 AM (Daniel Stolf) <dst...@gmail.com> wrote:

> Ok, I'm at work now and I have access to my lab...
>
> *==== On Node 1: ====*
> bdrdemo=# select bdr.bdr_get_local_nodeid();
>      bdr_get_local_nodeid
> -------------------------------
>  (6239328434665526195,1,16385)
> (1 row)
>
> bdrdemo=# select bdr.bdr_get_local_node_name();
>  bdr_get_local_node_name
> -------------------------
>  node1
> (1 row)
>
> bdrdemo=# select bdr.bdr_get_local_nodeid();
>      bdr_get_local_nodeid
> -------------------------------
>  (6239328434665526195,1,16385)
> (1 row)
>
> bdrdemo=# select bdr.bdr_get_local_node_name();
>  bdr_get_local_node_name
> -------------------------
>  node1
> (1 row)
>
> ================
>
> *=== On Node 2: ===*
> bdrdemo=# select bdr.bdr_get_local_nodeid();
>      bdr_get_local_nodeid
> -------------------------------
>  (6239328434665526195,1,16385)
> (1 row)
>
> bdrdemo=# select bdr.bdr_get_local_node_name();
>  bdr_get_local_node_name
> -------------------------
>  node1
> (1 row)
> ================
>
> Now, I take a snapshot from node1 and bring up a clone on node3... Here's
> what I got on node3:
>
> *=== On Node 3: ===*
>      bdr_get_local_nodeid
> -------------------------------
>  (6239328434665526195,1,16385)
> (1 row)
>
> bdrdemo=# select bdr.bdr_get_local_node_name();
>  bdr_get_local_node_name
> -------------------------
>  node1
> (1 row)
>
> bdrdemo=# SELECT * FROM pg_replication_slots;
>  slot_name | plugin | slot_type | datoid | database | active | xmin |
> catalog_xmin | restart_lsn
>
> -----------+--------+-----------+--------+----------+--------+------+--------------+-------------
> (0 rows)
>
> ================
>
> As you can see, when I brought up a clone of node1 on node3, it got the
> same node name and id as node1...
>
> So here's what I don't get:
>
> 1) if I have to create a new replication slots on node1 and 2 beforehand
> using "pg_create_physical_replication_slot" , don't they need the if of
> node3 on their name?
> 2) If node3 has the same name and if as node1, won't that introduce a
> conflic? Don't I need to clean that up before node3 can join the
> replication group?
>
> Regards,
> Daniel Stolf
>
>
> On Thu, Jan 21, 2016 at 8:34 AM (Daniel Stolf) <dst...@gmail.com> wrote:
>
>> Hi Craig, how are you?
>>
>> Thanks for your answer. It doesn't seems too complex... Also, it's just a
>> test scenario, I don't intend to use as a production setup or to recommend
>> as such, at least not until I'm 100% sure I got it right...
>>
>> So, assuming I get the snapshot right... The steps would be...
>>
>> 1) create replication slots on prior nodes before taking the snapshot
>> (not sure how to do that, which command would it be? );
>> 2) take the snapshot;
>> 3) bring it up on another server;
>> 4) use bdr_init_copy
>>
>> I'm not at work right now, but I remember two things...
>>
>> On node 3 I brought up the copy, if I try get local node name, it says
>> node1, which is the node I got the copy from, ... Wouldn't I also have to
>> do something about that? Like, delete the previous information on bdr
>> database that went along?
>>
>> Em qui, 21 de jan de 2016 00:50, Craig Ringer <cr...@2ndquadrant.com>
>> escreveu:
>>
>>> On 21 January 2016 at 08:29, (Daniel Stolf) <dst...@gmail.com> wrote:
>>>
>>>> Hello there...
>>>>
>>>> I'm new to postgres and I'm trying out BDR replication...
>>>>
>>>> I know that when I issue the bdr.bdr_group_join command, it will copy
>>>> the entire database from the host I specify on parameter 'join_using_dsn'
>>>> and this may take a while depending on the network and the size of the
>>>> database...
>>>>
>>>> What I wanted to know is if I can leverage a bcv backup... Is it
>>>> possible?
>>>>
>>>
>>> BCV seems to be an EMC backup system. It looks like a snapshot. If the
>>> snapshot taken is consistent and atomic, and if it includes both pg_xlog
>>> and the rest of the datadir and all tablespaces in the SAME snapshot taken
>>> at the SAME instant, then you can treat it much like a pg_basebackup. In
>>> that case you can use bdr_init_copy to bring it up as a new BDR node. You
>>> must either stop all writes to all other nodes or pre-create the
>>> replication slots *before* taking the snapshot though, otherwise the new
>>> node won't be able to catch up to writes done after the snapshot and before
>>> it was started.
>>>
>>> If this sounds too complex then stick to the documented methods that
>>> work. Working from separately taken snapshots is hard to get right and
>>> could lead to subtle data problems if you get it wrong.
>>>
>>> --
>>>  Craig Ringer                   http://www.2ndQuadrant.com/
>>>  PostgreSQL Development, 24x7 Support, Training & Services
>>>
>>

Reply via email to