<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: Verdana; font-size: 12pt; color: #000000'><br>Hi again.<br><br>First of all thanks for your advice Tatsuo.<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><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>Martes, 29 de Noviembre 2011 13:00:16<br><b>Asunto: </b>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>> <br></div><br></div></body></html>