<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: Verdana; font-size: 12pt; color: #000000'>Hi again.<br><br>I have one more question.<br><br>If the node that fails is the master, when I recover it, clients are disconnected. It is ok?<br><br>When I recover slave node, clients aren't disconnected.<br><br>Thanks again.<br><br><hr id="zwchr"><div style="color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>De: </b>"Tatsuo Ishii" <ishii@postgresql.org><br><b>Para: </b>"joaquin llano" <joaquin.llano@cpxextremadura.com><br><b>CC: </b>pgpool-general@pgpool.net<br><b>Enviados: </b>Miércoles, 7 de Diciembre 2011 14:48:03<br><b>Asunto: </b>Re: [pgpool-general: 51] Re: Pgpool disconnect clients when recovery nodes.<br><br>> Hi again. <br>> <br>> First of all thanks for your advice Tatsuo. <br><br>You are welcome!<br><br>> I've compiled and installed Pgpool 3.1.1. <br>> <br>> Now when recovery a node clients aren't disconnected. But they are disconnected when a node fails (not matter if the node is primary or slave). <br>> <br>> Is there any way to no disconnect clients when a node fails? <br>> <br>> PostgreSQL version is 9.1.1. <br>> <br>> Thanks again. <br><br>Sorry but currently there's no way to prevent it.<br>--<br>Tatsuo Ishii<br>SRA OSS, Inc. Japan<br>English: http://www.sraoss.co.jp/index_en.php<br>Japanese: http://www.sraoss.co.jp<br><br>> ----- Mensaje original -----<br>> <br>> De: "Tatsuo Ishii" <ishii@postgresql.org> <br>> Para: "joaquin llano" <joaquin.llano@cpxextremadura.com> <br>> CC: pgpool-general@pgpool.net <br>> Enviados: Martes, 29 de Noviembre 2011 13:00:16 <br>> Asunto: Re: [pgpool-general: 10] Pgpool disconnect clients when recovery nodes. <br>> <br>> With pgpool's native replication mode, there's no way to avoid <br>> disconnection to clients at recovery. <br>> <br>> In pgpool-II 3.1 or later, with streaming replication mode and <br>> recovery does not disconnect existing client connections. <br>> <br>>>From pgpool-II 3.1's "Enhancements" in NEWS: <br>> <br>> - Enhance online recovery in streaming replication mode. <br>> Now restarting pgpool-II children is avoided when recovery finished. So <br>> existing sessions can be continued while doing online recovery(Tatsuo) <br>> -- <br>> Tatsuo Ishii <br>> SRA OSS, Inc. Japan <br>> English: http://www.sraoss.co.jp/index_en.php <br>> Japanese: http://www.sraoss.co.jp <br>> <br>>> I have a cluster with 2 postgresql 8.4 backends and 1 pgpool2 3.0.3 version. They are running on Debian Squeeze using backports repository. <br>>> <br>>> When I try to recovery one of the backends using pcp_recovery_node its fails to recover until all clients connected to pgpool are disconnected. <br>>> <br>>> Also I tried streaming replication in other machines with PostgreSQL 9.1 but when recover a backend Pgpool drops all clients connected to it. <br>>> <br>>> Is there ant way to Pgpool maintain clients connected when I recover a dead node? <br>>> <br>>> This is my pgpool.conf for PostgreSQL 8.4 nodes. <br>>> <br>>> listen_addresses = '*' <br>>> port = 5432 <br>>> pcp_port = 9898 <br>>> socket_dir = '/var/run/postgresql' <br>>> pcp_socket_dir = '/var/run/postgresql' <br>>> backend_socket_dir = '/var/run/postgresql' <br>>> pcp_timeout = 10 <br>>> num_init_children = 32 <br>>> max_pool = 4 <br>>> child_life_time = 300 <br>>> connection_life_time = 0 <br>>> child_max_connections = 0 <br>>> client_idle_limit = 0 <br>>> authentication_timeout = 60 <br>>> logdir = '/var/run/postgresql' <br>>> pid_file_name = '/var/run/postgresql/pgpool.pid' <br>>> replication_mode = true <br>>> load_balance_mode = true <br>>> replication_stop_on_mismatch = true <br>>> replicate_select = false <br>>> reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT' <br>>> print_timestamp = true <br>>> master_slave_mode = false <br>>> connection_cache = true <br>>> health_check_timeout = 3 <br>>> health_check_period = 5 <br>>> health_check_user = 'pgpool2' <br>>> failover_command = 'pgpool-failover %d %h %p %D %m %M' <br>>> failback_command = 'pgpool-failback %d %h %p %D %m %M' <br>>> insert_lock = true <br>>> ignore_leading_white_space = true <br>>> log_statement = false <br>>> log_connections = false <br>>> log_hostname = false <br>>> parallel_mode = false <br>>> enable_query_cache = false <br>>> pgpool2_hostname = 'ppsqlft1' <br>>> system_db_hostname = 'localhost' <br>>> system_db_port = 5432 <br>>> system_db_dbname = 'pgpool' <br>>> system_db_schema = 'pgpool_catalog' <br>>> system_db_user = 'pgpool' <br>>> system_db_password = '' <br>>> backend_hostname0 = 'PPSQLBK1' <br>>> backend_port0 = 5432 <br>>> backend_weight0 = 1 <br>>> backend_data_directory0 = '/var/lib/postgresql/8.4/main' <br>>> backend_hostname1 = 'PPSQLBK2' <br>>> backend_port1 = 5432 <br>>> backend_weight1 = 1 <br>>> backend_data_directory1 = '/var/lib/postgresql/8.4/main' <br>>> enable_pool_hba = true <br>>> recovery_user = 'pgpool2' <br>>> recovery_password = '' <br>>> recovery_1st_stage_command = 'base-backup' <br>>> recovery_2nd_stage_command = 'pgpool-recovery-pitr' <br>>> recovery_timeout = 90 <br>>> client_idle_limit_in_recovery = 10 <br>>> <br>>> <br>>> Thanks for your help <br>>> <br>>> -- <br>>> <br>>> Joaquín Manuel Llano Montero <br>>> <br>>> ________________________________________ <br>>> <br>>> C O MPAREX España S.A. <br>>> C/ Severo Ochoa, 20 <br>>> 06800 Mérida (Badajoz) España <br>>> phone: +34 924 373 573 <br>>> fax: +34 924 374 518 <br>>> mobile: +34 615 848 019 <br>>> email : joaquin.llano@comparex.es <br>>> web: www.comparex.es <br></div><br></div></body></html>