Re: Sync Rep v19 - Mailing list pgsql-hackers
From | Simon Riggs |
---|---|
Subject | Re: Sync Rep v19 |
Date | |
Msg-id | 1299188947.10703.1162.camel@ebony Whole thread Raw |
In response to | Re: Sync Rep v19 (Yeb Havinga <yebhavinga@gmail.com>) |
List | pgsql-hackers |
On Thu, 2011-03-03 at 22:27 +0100, Yeb Havinga wrote: > On 2011-03-03 11:53, Simon Riggs wrote: > > Latest version of Sync Rep, which includes substantial internal changes > > and simplifications from previous version. (25-30 changes). > > > > Includes all outstanding technical comments, typos and docs. I will > > continue to work on self review and test myself, though actively > > encourage others to test and report issues. > > > > Interesting changes > > > > * docs updated > > > > * names listed in synchronous_standby_names are now in priority order > > > > * synchronous_standby_names = "*" matches all standby names > > > > * pg_stat_replication now shows standby priority - this is an ordinal > > number so "1" means 1st, "2" means 2nd etc, though 0 means "not a sync > > standby". > Some initial remarks: > > 1) this works nice: > application_name not in synchronous_standby_names -> sync_priority = 0 (OK) > change synchronous_standby_names to default *, reload conf -> > sync_priority = 1 (OK) > > message in log file > LOG: 00000: standby "walreceiver" is now the synchronous standby with > priority 1 > > 2) priorities > I have to get used to mapping the integers to synchronous replication > meaning. > 0 -> asynchronous > 1 -> the synchronous standby that is waited for > 2 and higher -> potential syncs > > Could it be hidden from the user? I liked asynchronous / synchronous / > potential synchronous Yes, that sounds good. I will leave it as it is now to gain other comments since this need not delay commit. > then the log message could be > LOG: 00000: standby "walreceiver" is now the synchronous standby The priority is mentioned in the LOG message, so you can understand what happens when multiple standbys connect. e.g. if you have synchronous_standby_names = 'a, b, c' and then the standbys connect in the order b, c, a then you will see log messages LOG: standby "b" is now the synchronous standby with priority 2 LOG: standby "a" is now the synchronous standby with priority 1 It's designed so no matter which order standbys arrive in it is the highest priority standby that makes it to the front in the end. > 3) walreceiver is the default application name - could there be problems > when a second standby with that name connects (ofcourse the same > question holds for two the same nondefault application_names)? That's documented: in that case which standby is sync is indeterminate. -- Simon Riggs http://www.2ndQuadrant.com/books/PostgreSQL Development, 24x7 Support, Training and Services
pgsql-hackers by date: