Re: BUG #13443: master will remove dead rows when hot standby(use slot) disconnect

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: BUG #13443: master will remove dead rows when hot standby(use slot) disconnect
Дата
Msg-id 20150616192141.GD2626@alap3.anarazel.de
обсуждение исходный текст
Ответ на Re: BUG #13443: master will remove dead rows when hot standby(use slot) disconnect  (Jeff Janes <jeff.janes@gmail.com>)
Ответы Re: BUG #13443: master will remove dead rows when hot standby(use slot) disconnect  (Jeff Janes <jeff.janes@gmail.com>)
Список pgsql-bugs
On 2015-06-16 10:00:13 -0700, Jeff Janes wrote:
> On Mon, Jun 15, 2015 at 5:52 PM, Michael Paquier <michael.paquier@gmail.com>
> wrote:
> I haven't looked at the code, or paid much attention when the feature went
> in.  From the docs, I thought that is what would happen as well.  But
> experimentally, that only happens if hot_standby_feedback is on.  I get the
> same behavior
> on 9.4.4 and on 9.5devel.
>
> postgresql.conf:
>
> wal_level = logical
> max_wal_senders = 3
> max_replication_slots = 3
> hot_standby = on
> hot_standby_feedback = off    ## toggled on standby over course of
> experiment
> port=5433     ### on standby only. default on master
>
> on master:
> SELECT * FROM pg_create_physical_replication_slot('node_a_slot');
>
> recovery.conf:
> standby_mode = 'on'
> primary_conninfo = 'port=5432 user=jjanes'
> primary_slot_name = 'node_a_slot'
>
> I repeat Digoal's example, only don't crash the standby.
>
> I leave the stand-by connected, with a client sitting in a repeatable read
> transaction, and then delete the tuples on the master side.  Vacuum will
> quickly reclaim the tuples, and then after 30s the stand-by session gets
> disconnect due to conflict.  When I toggle hot_standby_feedback on, then it
> behaves as expected, with the master never cleaning up the deleted tuples.

It's expected that we only hold up the xmin horizon on the primary via
slots if hot_standby_feedback is enabled. It seemed - and still seems -
like a bad idea to force hs_feedback to on if slots are used, using it
is much more expensive than just retaining WAL.  Do you disagree?

Where do the docs imply the contrary?

Greetings,

Andres Freund

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

Предыдущее
От: Jeff Janes
Дата:
Сообщение: Re: BUG #13443: master will remove dead rows when hot standby(use slot) disconnect
Следующее
От: Jeff Janes
Дата:
Сообщение: Re: BUG #13443: master will remove dead rows when hot standby(use slot) disconnect