On 26/04/17 18:59, Bruce Momjian wrote:
> I tried setting up logical replication on the same server between two
> different databases, and got, from database test:
>       test=> CREATE TABLE test (x INT PRIMARY KEY);
>       test=>
>       test=> INSERT INTO test VALUES (1);
>       INSERT 0 1
>       test=> CREATE PUBLICATION mypub FOR TABLE test;
> then from database test2:
>       test2=> CREATE TABLE test (x INT PRIMARY KEY);
>       test2=> CREATE SUBSCRIPTION mysub CONNECTION 'dbname=test port=5432'
>       PUBLICATION mypub;
>       NOTICE:  synchronized table states
> and it just hangs.  My server logs say:
>       2017-04-26 12:50:53.694 EDT [29363] LOG:  logical decoding found initial
>       starting point at 0/15FF3E0
>       2017-04-26 12:50:53.694 EDT [29363] DETAIL:  1 transaction needs to
>       finish.
> Is this expected?  I can get it working from two different clusters.

Yes that's result of how logical replication slots work, the transaction
that needs to finish is your transaction. It can be worked around by
creating the slot manually via the SQL interface for example and create
the subscription using WITH (NOCREATE SLOT, SLOT NAME = 'your slot') .

  Petr Jelinek                  http://www.2ndQuadrant.com/
  PostgreSQL Development, 24x7 Support, Training & Services

Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to