Hot standby with hot_standny_feedback enabled: cancelling statement issues

From: Игорь Выскорко <vyskorko(dot)igor(at)yandex(dot)ru>
To: "pgsql-admin(at)postgresql(dot)org" <pgsql-admin(at)postgresql(dot)org>
Subject: Hot standby with hot_standny_feedback enabled: cancelling statement issues
Date: 2020-11-25 09:46:29
Message-ID: 6184231606295846@mail.yandex.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

<div>Hi!<br /> </div><div>I'm trying to configure hot standby replica for analytics and simple backup purposes. So, I have long queries which constantly cancelled without proper configuring.<br />I do not want large lag on replica (more than 30 mins) so setting max_standby_streaming_delay to -1 is not my choice.  I have to avoid large lag because of analytic queries which must be run on almost fresh copy of data.</div><div>I found the panacea (I thought I found actually) in setting hot_standby_feedback = on (I know about possible master bloating) but it also doesn't help.<br />Just to clarify about "simple backup purposes": it means run pg_dump in daily basis. Our database is about 250Gb<br /> <div>2 test run of pg_dump failed with:<div>pg_dump: Dumping the contents of table "table" failed: PQgetResult() failed.</div><div>pg_dump: Error message from server: ERROR:  canceling statement due to conflict with recovery</div><div>DETAIL:  User was holding a relation lock for too long.</div><div>pg_dump: The command was: COPY...<br /> <div>postgres=# select * from pg_stat_database_conflicts ;</div><div>   datid   |    datname    | confl_tablespace | confl_lock | confl_snapshot | confl_bufferpin | confl_deadlock </div><div>-----------+---------------+------------------+------------+----------------+-----------------+----------------</div><div>     12445 | dbname      |                0 |          2 |              0 |               0 |              0</div><div><br />Not sure about what kind of lock was holding too long...<br /><br />So, my questions are:<br />1. Why "hot_standby_feedback = on" is not helping?<br />2. What is proper way to use replica for tasks as mine?<br /><br />Thanks</div></div></div><br /><br />Our current setup:<div><div>postgres=# select version();</div><div>                                                                version                                                                </div><div>---------------------------------------------------------------------------------------------------------------------------------------</div><div> PostgreSQL 9.6.15 on x86_64-pc-linux-gnu (Ubuntu 9.6.15-1.pgdg18.04+1), compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit</div><div>(1 row)</div><div> </div><div>postgres=# select name, setting, unit from pg_settings where category = 'Replication / Standby Servers'; </div><div>             name             | setting | unit </div><div>------------------------------+---------+------</div><div> hot_standby                  | on      | </div><div> hot_standby_feedback         | on      | </div><div> max_standby_archive_delay    | 930000  | ms</div><div> max_standby_streaming_delay  | 900000  | ms</div><div> wal_receiver_status_interval | 10      | s</div><div> wal_receiver_timeout         | 60000   | ms</div><div> wal_retrieve_retry_interval  | 5000    | ms</div><div>(7 rows)</div></div></div><div> </div>

Attachment Content-Type Size
unknown_filename text/html 3.0 KB

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Laurenz Albe 2020-11-25 14:46:37 Re: Hot standby with hot_standny_feedback enabled: cancelling statement issues
Previous Message Nikhil Shetty 2020-11-25 05:32:35 Re: Streaming Replication replay lag