Re: Design for In-Core Logical Replication

Поиск
Список
Период
Сортировка
От Petr Jelinek
Тема Re: Design for In-Core Logical Replication
Дата
Msg-id a43140b1-198f-026a-2314-e34c9bc324c1@2ndquadrant.com
обсуждение исходный текст
Ответ на Re: Design for In-Core Logical Replication  (Hannu Krosing <hkrosing@gmail.com>)
Список pgsql-hackers
On 26/07/16 00:05, Hannu Krosing wrote:
>> <programlisting>
>> CREATE PUBLICATION mypub;
>> ALTER PUBLICATION mypub ADD TABLE users, departments;
>> </programlisting>
> Would a subscription just be a logical grouping or would it be something
> stronger
> like meaning atomic subscriptions and/or a dedicated replication slot ?
>

Not sure what you mean by atomic subscription but subscription creation 
adds replication slot to the provider node. Other than that subscription 
lives on the downstream node only.

> Can you subscribe to multiple publications through single SUBSCRIPTION ?
>

Yes.

> What is supposed to happen if table A is in two subscriptions S1 and S2,
> and you
> subscribe to both? Will you get table a only once (both initial copy and
> events)?

Yes only once, the replication works with tables, publication is really 
just grouping/filtering, what you get is union of tables in the 
publications.

>
> Would a subscription of "mypub" pop up on subscriber side atomically, or
> will subscribed
> tables appear one-by one when they are ready (initial copy + catchup
> event replay completed) ?
>

Yes that's my plan as that makes it easier to parallelize and recover 
from crashes (also makes this faster as tables that are already done 
don't need to be copied again) during the initialization. Also makes it 
easier to reuse the table initialization code for adding new tables at 
later time.

>> <programlisting>
>> CREATE SUBSCRIPTION mysub WITH CONNECTION <quote>dbname=foo host=bar
>> user=repuser</quote> PUBLICATION mypub;
>> </programlisting>
> For the pgq-like version which consider a PUBLICATION just as list of
> tables to subscribe, I would add
>
> CREATE SUBSCRIPTION mysub WITH CONNECTION 'dbname=foo host=bar
> user=repuser' PUBLICATION mypub, mypub1;
>

Yes that works as well.

> ALTER SUBSCRIPTION mysub DROP PUBLICATION mypub1;
>
> ALTER SUBSCRIPTION mysub ADD PUBLICATION mypub2;
>

This does not yet, but I agree we should have it.

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



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: pg_dumping extensions having sequences with 9.6beta3
Следующее
От: Fujii Masao
Дата:
Сообщение: Re: Confusing TAP tests readme file