Lists: | pgsql-bugs |
---|
From: | amutu(at)amutu(dot)com |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #11517: the pg_stat_replication.sync_stat show sync when synchronous_commit is set to be off |
Date: | 2014-09-29 07:45:52 |
Message-ID: | 20140929074552.17173.32414@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 11517
Logged by: the pg_stat_replication.sync_stat show sync when synchronous_commit is set
to be off
Email address: amutu(at)amutu(dot)com
PostgreSQL version: 9.2.4
Operating system: suse linux 10 x86_64
Description:
from the doc,when synchronous_commit set to off or local,the commit will not
wait the remote slave reveive data,so it is not asynchronous replication.but
I find the pg_stat_replication wrongly report the sync_stat to sync.This can
be confused for people.
postgres=# select * from pg_stat_replication ;
-[ RECORD 1 ]----+------------------------------
pid | 3213
usesysid | 16387
usename | rep
application_name | sync_slave
client_addr | 172.25.38.154
client_hostname |
client_port | 54333
backend_start | 2014-09-29 15:17:19.927457+08
state | streaming
sent_location | 21/A0F01C0
write_location | 21/A0F01C0
flush_location | 21/A0F01C0
replay_location | 21/A0EFC88
sync_priority | 1
sync_state | sync
postgres=# show synchronous_standby_names ;
-[ RECORD 1 ]-------------+-----------------------
synchronous_standby_names | sync_slave,walreceiver
postgres=# show synchronous_commit ;
-[ RECORD 1 ]------+----
synchronous_commit | off
From: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
---|---|
To: | amutu(at)amutu(dot)com |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #11517: the pg_stat_replication.sync_stat show sync when synchronous_commit is set to be off |
Date: | 2014-09-29 08:02:44 |
Message-ID: | CAB7nPqRQ_mp65oR=B9LVr5eeBwjLk8RD3X4trymdG=8ydTHp-A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
On Mon, Sep 29, 2014 at 4:45 PM, <amutu(at)amutu(dot)com> wrote:
> from the doc,when synchronous_commit set to off or local,the commit will
> not
> wait the remote slave reveive data,so it is not asynchronous
> replication.but I
> find the pg_stat_replication wrongly report the sync_stat to sync.This can
This is not a bug, please refer to the documentation about
synchronous_commit:
http://www.postgresql.org/docs/devel/static/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT
When synchronous_commit is set to off, local or remote_write, the master
node does not wait for the confirmation from the sync standby that the WAL
has been flushed to disk (for remote_write it waits for the write
confirmation), and the standby is still considered as sync, of course if
synchronous_standby_names is set.
Regards,
--
Michael
From: | Jov <amutu(at)amutu(dot)com> |
---|---|
To: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
Cc: | pgsql-bugs <pgsql-bugs(at)postgresql(dot)org> |
Subject: | Re: BUG #11517: the pg_stat_replication.sync_stat show sync when synchronous_commit is set to be off |
Date: | 2014-09-29 09:22:46 |
Message-ID: | CADyrUxPhmx_cKGnd80b7kgHyW_8bcL6z3BqseKR_KyN0KGy7-Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
I read the doc before I submit the bug
2014年9月29日 4:03 PM于 "Michael Paquier" <michael(dot)paquier(at)gmail(dot)com>写道:
>
>
>
> On Mon, Sep 29, 2014 at 4:45 PM, <amutu(at)amutu(dot)com> wrote:
>>
>> from the doc,when synchronous_commit set to off or local,the commit will
not
>> wait the remote slave reveive data,so it is not asynchronous
replication.but I
>> find the pg_stat_replication wrongly report the sync_stat to sync.This
can
>
> This is not a bug, please refer to the documentation about
synchronous_commit:
>
http://www.postgresql.org/docs/devel/static/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT
>
> When synchronous_commit is set to off, local or remote_write, the master
node does not wait for the confirmation from the sync standby that the WAL
has been flushed to disk (for remote_write it waits for the write
confirmation), and the standby is still considered as sync, of course if
synchronous_standby_names is set.
I can't figure out this conclusion from the doc above.I appreciate it if
you point me more specifically.
> Regards,
> --
> Michael