[Pgpool-hackers] Automatic reattachment of the node in connection pooling mode

Guillaume Lelarge guillaume at lelarge.info
Fri Jan 28 07:44:13 UTC 2011


Le 28/01/2011 08:31, Tatsuo Ishii a écrit :
>> Le 28/01/2011 01:16, Tatsuo Ishii a écrit :
>>>> One of my customers asks me today why pgpool doesn't check, from time to
>>>> time, that the backend is now available in connection pool mode.
>>>>
>>>> Here is what we did with a pgpool 3.0.1, configured only for connection
>>>> pooling and health checking:
>>>>
>>>>  * start postgresql (pg_ctl start)
>>>>  * start pgpool (pgpool -f etc/pgpool.conf start)
>>>>  * every connection works fine
>>>>  * stop postgresql (pg_ctl start)
>>>>  * health check detects the unavailability of the backend
>>>>    and changes status of node 0 to 3
>>>>  * no connection, which is good because backend is unavailable
>>>>  * start postgresql (pg_ctl start)
>>>>  * and the node still remains in status 3.
>>>>
>>>> What I would like to have is a way to check if the backend is now
>>>> available. And reattach it if it is. All intern to pgpool. Any reason
>>>> why not to do so?
>>>>
>>>> I can have misread the documentation, and I understand why this cannot
>>>> happen in replication mode or master/slave mode. But in connection
>>>> pooling only mode, I don't get it.
>>>>
>>>> If it seems to be a nice feature to have, I'm interested in working on this.
>>>
>>> I'm not sure if it's good feature. Say you have 2 DB servers and one
>>> of their network connections goes shakey. It continues to up and down
>>> every 10 seconds. If pgpool has such a feature, pgpool repeatedly does
>>> failover every 10 seconds, which will break existing client connection
>>> every 10 seconds. I'm sure the user is not happy with this situation.
>>
>> You can use two PostgreSQL servers in pooling mode? how does that work?
> 
> You can use the second server as the backup server. If the master
> server godes down, degenration happens and pgpool starts to use the
> second server.
> 

Oh OK. Interesting, I didn't know that. That explains why it degenerates
and checks for another backend.

I still see an interest to have this when a user has only one backend
and is only in pooling mode.

>> I'm speaking only of the pooling mode, without replication and load
>> balancing. In this case, if the network goes up and down continuously,
>> you continuously loose the connection and have to reattach node 0.
> 


-- 
Guillaume
 http://www.postgresql.fr
 http://dalibo.com


More information about the Pgpool-hackers mailing list