Logical replication

Started by Adrian Klaveralmost 9 years ago5 messagesgeneral
Jump to latest
#1Adrian Klaver
adrian.klaver@aklaver.com

I have started looking at the logical replication feature in Postgres
10. One thing I have no been able to determine is the interoperability
between it and pglogical(www.2ndquadrant.com/en/resources/pglogical/). I
know the one is derived from the other, what I can not find is whether a
Postgres 9.4 instance with the pglogical extension installed can
communicate with a Postgres 10 instance using the built in code?

--
Adrian Klaver
adrian.klaver@aklaver.com

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#2Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Adrian Klaver (#1)
Re: Logical replication

On 04/30/2017 09:07 AM, Adrian Klaver wrote:

I have started looking at the logical replication feature in Postgres
10. One thing I have no been able to determine is the interoperability
between it and pglogical(www.2ndquadrant.com/en/resources/pglogical/). I
know the one is derived from the other, what I can not find is whether a
Postgres 9.4 instance with the pglogical extension installed can
communicate with a Postgres 10 instance using the built in code?

Some testing says the answer is no:

postgres=# CREATE SUBSCRIPTION pgsql10sub CONNECTION
'dbname=replication_test host=localhost user=postgres port=5412'
PUBLICATION pgsql94;
ERROR: could not receive list of replicated tables from the publisher:
ERROR: syntax error

If I am correct, this means from 9.4 <--> 10 and points in between you
would need to use the pglogical extension on both ends. Going from 10
--> you could use the builtin logical replication. This leads to another
question. Is is possible to use both at the same time?:

9.4 ---> 10(instance 1) ---> 10(instance 2)
pglogical pglogical
builtin builtin

--
Adrian Klaver
adrian.klaver@aklaver.com

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#3Peter Eisentraut
peter_e@gmx.net
In reply to: Adrian Klaver (#2)
Re: Logical replication

On 5/1/17 10:32, Adrian Klaver wrote:

On 04/30/2017 09:07 AM, Adrian Klaver wrote:

I have started looking at the logical replication feature in Postgres
10. One thing I have no been able to determine is the interoperability
between it and pglogical(www.2ndquadrant.com/en/resources/pglogical/). I
know the one is derived from the other, what I can not find is whether a
Postgres 9.4 instance with the pglogical extension installed can
communicate with a Postgres 10 instance using the built in code?

Some testing says the answer is no:

correct

If I am correct, this means from 9.4 <--> 10 and points in between you
would need to use the pglogical extension on both ends.

correct

Going from 10
--> you could use the builtin logical replication. This leads to another
question. Is is possible to use both at the same time?:

9.4 ---> 10(instance 1) ---> 10(instance 2)
pglogical pglogical
builtin builtin

That is possible.

pglogical will continue to exist, so you can also keep using it if you
already have it.

--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#4Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Peter Eisentraut (#3)
Re: Logical replication

On 05/01/2017 09:25 AM, Peter Eisentraut wrote:

On 5/1/17 10:32, Adrian Klaver wrote:

On 04/30/2017 09:07 AM, Adrian Klaver wrote:

I have started looking at the logical replication feature in Postgres
10. One thing I have no been able to determine is the interoperability
between it and pglogical(www.2ndquadrant.com/en/resources/pglogical/). I
know the one is derived from the other, what I can not find is whether a
Postgres 9.4 instance with the pglogical extension installed can
communicate with a Postgres 10 instance using the built in code?

Some testing says the answer is no:

correct

If I am correct, this means from 9.4 <--> 10 and points in between you
would need to use the pglogical extension on both ends.

correct

Going from 10
--> you could use the builtin logical replication. This leads to another
question. Is is possible to use both at the same time?:

9.4 ---> 10(instance 1) ---> 10(instance 2)
pglogical pglogical
builtin builtin

That is possible.

Thanks for the information.

pglogical will continue to exist, so you can also keep using it if you
already have it.

I tried building the pglogical extension against Postgres 10 and it
seems that is not possible yet, which tracks the information on the
pglogical page:

https://www.2ndquadrant.com/en/resources/pglogical/pglogical-installation-instructions/

I went to the GitHub repo:

https://github.com/2ndQuadrant/pglogical

and did not see anything that looks ready for Postgres 10.

Am I missing something or is this something for the future?

--
Adrian Klaver
adrian.klaver@aklaver.com

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#5Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Adrian Klaver (#4)
Re: Logical replication

On 05/01/2017 09:34 AM, Adrian Klaver wrote:

On 05/01/2017 09:25 AM, Peter Eisentraut wrote:

On 5/1/17 10:32, Adrian Klaver wrote:

On 04/30/2017 09:07 AM, Adrian Klaver wrote:

I have started looking at the logical replication feature in Postgres
10. One thing I have no been able to determine is the interoperability
between it and
pglogical(www.2ndquadrant.com/en/resources/pglogical/). I
know the one is derived from the other, what I can not find is
whether a
Postgres 9.4 instance with the pglogical extension installed can
communicate with a Postgres 10 instance using the built in code?

Some testing says the answer is no:

correct

If I am correct, this means from 9.4 <--> 10 and points in between you
would need to use the pglogical extension on both ends.

correct

Going from 10
--> you could use the builtin logical replication. This leads to another
question. Is is possible to use both at the same time?:

9.4 ---> 10(instance 1) ---> 10(instance 2)
pglogical pglogical
builtin builtin

That is possible.

Thanks for the information.

pglogical will continue to exist, so you can also keep using it if you
already have it.

I tried building the pglogical extension against Postgres 10 and it
seems that is not possible yet, which tracks the information on the
pglogical page:

https://www.2ndquadrant.com/en/resources/pglogical/pglogical-installation-instructions/

I went to the GitHub repo:

https://github.com/2ndQuadrant/pglogical

and did not see anything that looks ready for Postgres 10.

Am I missing something or is this something for the future?

The present as of now:

/messages/by-id/CAH+GA0o5B89eDJjoKO-yN=XQEsC+pA2n9LuQPun0EAz9fVcUEA@mail.gmail.com

--
Adrian Klaver
adrian.klaver@aklaver.com

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general