<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" &lt;ishii@postgresql.org&gt;<br><b>Para: </b>"joaquin llano" &lt;joaquin.llano@cpxextremadura.com&gt;<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>&gt; Hi again. <br>&gt; <br>&gt; First of all thanks for your advice Tatsuo. <br><br>You are welcome!<br><br>&gt; I've compiled and installed Pgpool 3.1.1. <br>&gt; <br>&gt; 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>&gt; <br>&gt; Is there any way to no disconnect clients when a node fails? <br>&gt; <br>&gt; PostgreSQL version is 9.1.1. <br>&gt; <br>&gt; 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>&gt; ----- Mensaje original -----<br>&gt; <br>&gt; De: "Tatsuo Ishii" &lt;ishii@postgresql.org&gt; <br>&gt; Para: "joaquin llano" &lt;joaquin.llano@cpxextremadura.com&gt; <br>&gt; CC: pgpool-general@pgpool.net <br>&gt; Enviados: Martes, 29 de Noviembre 2011 13:00:16 <br>&gt; Asunto: Re: [pgpool-general: 10] Pgpool disconnect clients when recovery nodes. <br>&gt; <br>&gt; With pgpool's native replication mode, there's no way to avoid <br>&gt; disconnection to clients at recovery. <br>&gt; <br>&gt; In pgpool-II 3.1 or later, with streaming replication mode and <br>&gt; recovery does not disconnect existing client connections. <br>&gt; <br>&gt;&gt;From pgpool-II 3.1's "Enhancements" in NEWS: <br>&gt; <br>&gt; - Enhance online recovery in streaming replication mode. <br>&gt; Now restarting pgpool-II children is avoided when recovery finished. So <br>&gt; existing sessions can be continued while doing online recovery(Tatsuo) <br>&gt; -- <br>&gt; Tatsuo Ishii <br>&gt; SRA OSS, Inc. Japan <br>&gt; English: http://www.sraoss.co.jp/index_en.php <br>&gt; Japanese: http://www.sraoss.co.jp <br>&gt; <br>&gt;&gt; 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>&gt;&gt; <br>&gt;&gt; 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>&gt;&gt; <br>&gt;&gt; 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>&gt;&gt; <br>&gt;&gt; Is there ant way to Pgpool maintain clients connected when I recover a dead node? <br>&gt;&gt; <br>&gt;&gt; This is my pgpool.conf for PostgreSQL 8.4 nodes. <br>&gt;&gt; <br>&gt;&gt; listen_addresses = '*' <br>&gt;&gt; port = 5432 <br>&gt;&gt; pcp_port = 9898 <br>&gt;&gt; socket_dir = '/var/run/postgresql' <br>&gt;&gt; pcp_socket_dir = '/var/run/postgresql' <br>&gt;&gt; backend_socket_dir = '/var/run/postgresql' <br>&gt;&gt; pcp_timeout = 10 <br>&gt;&gt; num_init_children = 32 <br>&gt;&gt; max_pool = 4 <br>&gt;&gt; child_life_time = 300 <br>&gt;&gt; connection_life_time = 0 <br>&gt;&gt; child_max_connections = 0 <br>&gt;&gt; client_idle_limit = 0 <br>&gt;&gt; authentication_timeout = 60 <br>&gt;&gt; logdir = '/var/run/postgresql' <br>&gt;&gt; pid_file_name = '/var/run/postgresql/pgpool.pid' <br>&gt;&gt; replication_mode = true <br>&gt;&gt; load_balance_mode = true <br>&gt;&gt; replication_stop_on_mismatch = true <br>&gt;&gt; replicate_select = false <br>&gt;&gt; reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT' <br>&gt;&gt; print_timestamp = true <br>&gt;&gt; master_slave_mode = false <br>&gt;&gt; connection_cache = true <br>&gt;&gt; health_check_timeout = 3 <br>&gt;&gt; health_check_period = 5 <br>&gt;&gt; health_check_user = 'pgpool2' <br>&gt;&gt; failover_command = 'pgpool-failover %d %h %p %D %m %M' <br>&gt;&gt; failback_command = 'pgpool-failback %d %h %p %D %m %M' <br>&gt;&gt; insert_lock = true <br>&gt;&gt; ignore_leading_white_space = true <br>&gt;&gt; log_statement = false <br>&gt;&gt; log_connections = false <br>&gt;&gt; log_hostname = false <br>&gt;&gt; parallel_mode = false <br>&gt;&gt; enable_query_cache = false <br>&gt;&gt; pgpool2_hostname = 'ppsqlft1' <br>&gt;&gt; system_db_hostname = 'localhost' <br>&gt;&gt; system_db_port = 5432 <br>&gt;&gt; system_db_dbname = 'pgpool' <br>&gt;&gt; system_db_schema = 'pgpool_catalog' <br>&gt;&gt; system_db_user = 'pgpool' <br>&gt;&gt; system_db_password = '' <br>&gt;&gt; backend_hostname0 = 'PPSQLBK1' <br>&gt;&gt; backend_port0 = 5432 <br>&gt;&gt; backend_weight0 = 1 <br>&gt;&gt; backend_data_directory0 = '/var/lib/postgresql/8.4/main' <br>&gt;&gt; backend_hostname1 = 'PPSQLBK2' <br>&gt;&gt; backend_port1 = 5432 <br>&gt;&gt; backend_weight1 = 1 <br>&gt;&gt; backend_data_directory1 = '/var/lib/postgresql/8.4/main' <br>&gt;&gt; enable_pool_hba = true <br>&gt;&gt; recovery_user = 'pgpool2' <br>&gt;&gt; recovery_password = '' <br>&gt;&gt; recovery_1st_stage_command = 'base-backup' <br>&gt;&gt; recovery_2nd_stage_command = 'pgpool-recovery-pitr' <br>&gt;&gt; recovery_timeout = 90 <br>&gt;&gt; client_idle_limit_in_recovery = 10 <br>&gt;&gt; <br>&gt;&gt; <br>&gt;&gt; Thanks for your help <br>&gt;&gt; <br>&gt;&gt; -- <br>&gt;&gt; <br>&gt;&gt; Joaquín Manuel Llano Montero <br>&gt;&gt; <br>&gt;&gt; ________________________________________ <br>&gt;&gt; <br>&gt;&gt; C O MPAREX España S.A. <br>&gt;&gt; C/ Severo Ochoa, 20 <br>&gt;&gt; 06800 Mérida (Badajoz) España <br>&gt;&gt; phone: +34 924 373 573 <br>&gt;&gt; fax: +34 924 374 518 <br>&gt;&gt; mobile: +34 615 848 019 <br>&gt;&gt; email : joaquin.llano@comparex.es <br>&gt;&gt; web: www.comparex.es <br></div><br></div></body></html>