I am still not clear. Can you explain what replication_timeout parameter accomplishes and when ?
Basically I wish my synchronous write transaction to not wait indefinitely when the synchronous standby servers are not available. But rather a response returned back to client that write could not be successful, after trying for 'n' seconds. How can that be accomplished ?
Thanks.
From: Fujii Masao <masao.fujii@xxxxxxxxx>
To: A J <s5aly@xxxxxxxxx>
Cc: PG Admin <pgsql-admin@xxxxxxxxxxxxxx>
Sent: Friday, July 22, 2011 9:19 AM
Subject: Re: replication_timeout does not seem to be working
On Fri, Jul 22, 2011 at 5:14 AM, A J <s5aly@xxxxxxxxx> wrote:
> On 9.1, Beta3 I set the following on master
> replication_timeout = 10s # in milliseconds; 0 disables
> With no slaves running, I expect a failure in about 10s. But any Insert just
> hangs. Any idea ?
If you set up synchronous replication but there is no standby server,
all the write transactions are blocked infinitely whether replication_timeout
is enabled or not. If you want to cause those transactions to end, you need
to disable synchronous replication by, for example, emptying
synchronous_standby_names or need to set up new standby.
Regards,
--
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center