Обсуждение: Question concerning replicated server using streaming replication used as a read-only reporting server

Поиск
Список
Период
Сортировка

Question concerning replicated server using streaming replication used as a read-only reporting server

От
"Benjamin Krajmalnik"
Дата:

I have 2 servers which are using streaming replication (pg 9.0.4).

The secondary server is there primarily as a disaster recovery server, but we are also using it for reporting, so as not to place undue load on the primary server.

As I review the logs on the secondary server, I frequently see the following:

 

2013-01-17 06:05:47 MST [local]ERROR:  canceling statement due to conflict with recovery

2013-01-17 06:05:47 MST [local]DETAIL:  User query might have needed to see row versions that must be removed.

2013-01-17 06:05:47 MST [local]STATEMENT:    Select statement goes here

2013-01-17 06:05:47 MST [local]FATAL:  terminating connection due to conflict with recovery

2013-01-17 06:05:47 MST [local]DETAIL:  User query might have needed to see row versions that must be removed.

2013-01-17 06:05:47 MST [local]HINT:  In a moment you should be able to reconnect to the database and repeat your command.

 

Is there anything that can be done to mitigate this situation?

Re: Question concerning replicated server using streaming replication used as a read-only reporting server

От
"Benjamin Krajmalnik"
Дата:
thx

Sent from my Verizon Wireless 4G LTE smartphone



Kevin Grittner <kgrittn@mail.com> wrote:

Benjamin Krajmalnik wrote:

> It is ok if I am a little bit behind. What setting do
> I need to tweak to allow it to get further behind?

The relevant settings are described here:

http://www.postgresql.org/docs/9.0/interactive/runtime-config-wal.html#RUNTIME-CONFIG-REPLICATION
http://www.postgresql.org/docs/9.0/interactive/runtime-config-wal.html#RUNTIME-CONFIG-STANDBY

The ones that you might want to look at are:

vacuum_defer_cleanup_age
max_standby_archive_delay
max_standby_streaming_delay

Leaving some gaps for "catch up time" between long-running requests
can help prevent cancelations, since the lag can otherwise
accumulate.

-Kevin