1)<br>I have 2 servers where installed pgpool with heartbeat+pacemaker HA cluster. Pgpool always run on one machine at the same time.<br>Version: 1.0.8-042548a451fce8400660f6031f4da6f0223dd5dd<br><br>HW of this pgpool servers is <span id="result_box" class="short_text" lang="en"><span class="hps">identical</span></span>:<br>
šHP ProLiant BL460c G1<br><br>I have 3 servers where started postgresql in streaming replication mode<br>One master and two slave, one in sync replication and another one potential<br><br>HW of this postgresql servers is identical:<br>
HP ProLiant BL460c G1<br><br>2)<br>listen_addresses = &#39;*&#39;<br>port = 5433<br>socket_dir = &#39;/tmp&#39;<br>pcp_port = 9898<br>pcp_socket_dir = &#39;/tmp&#39;<br>backend_hostname0 = &#39;dbip1&#39;<br>backend_port0 = 5432<br>
backend_weight0 = 0.499<br>backend_data_directory0 = &#39;/var/lib/postgresql/9.1/main&#39;<br>backend_hostname1 = &#39;dbip2&#39;<br>backend_port1 = 5432<br>backend_weight1 = 0.499<br>backend_data_directory1 = &#39;/var/lib/postgresql/9.1/main&#39;<br>
backend_hostname2 = &#39;dbip3&#39;<br>backend_port2 = 5432<br>backend_weight2 = 0.002<br>backend_data_directory2 = &#39;/var/lib/postgresql/9.1/main&#39;<br>enable_pool_hba = off<br>authentication_timeout = 60<br>ssl = off<br>
num_init_children = 120<br>max_pool = 2<br>child_life_time = 64800<br>child_max_connections = 1000<br>connection_life_time = 300<br>client_idle_limit = 64800<br>log_destination = &#39;stderr&#39;<br>print_timestamp = on<br>
log_connections = off<br>log_hostname = on<br>log_statement = off<br>log_per_node_statement = off<br>log_standby_delay = &#39;if_over_threshold&#39;<br>syslog_facility = &#39;LOCAL0&#39;<br>syslog_ident = &#39;pgpool&#39;<br>
debug_level = 0<br>pid_file_name = &#39;/var/run/pgpool/pgpool.pid&#39;<br>logdir = &#39;/tmp&#39;<br>connection_cache = on<br>reset_query_list = &#39;ABORT; DISCARD ALL&#39;<br>replication_mode = off<br>replicate_select = off<br>
insert_lock = off<br>lobj_lock_table = &#39;&#39;<br>replication_stop_on_mismatch = off<br>failover_if_affected_tuples_mismatch = off<br>load_balance_mode = on<br>ignore_leading_white_space = off<br>white_function_list = &#39;&#39;<br>
black_function_list = &#39;nextval,setval,set.*,drop.*&#39;<br>master_slave_mode = on<br>master_slave_sub_mode = &#39;stream&#39;<br>sr_check_period = 10<br>sr_check_user = &#39;sr_check&#39;<br>sr_check_password = &#39;xxx&#39;<br>
delay_threshold = 100<br>follow_master_command = &#39;/etc/pgpool.d/follow_master_command.sh %d %h %p %D %m %H %M %P&#39;<br>parallel_mode = off<br>enable_query_cache = off<br>pgpool2_hostname = &#39;&#39;<br>system_db_hostnameš = &#39;localhost&#39;<br>
system_db_port = 5432<br>system_db_dbname = &#39;pgpool&#39;<br>system_db_schema = &#39;pgpool_catalog&#39;<br>system_db_user = &#39;pgpool&#39;<br>system_db_password = &#39;&#39;<br>health_check_period = 5<br>health_check_timeout = 20<br>
health_check_user = &#39;health_check&#39;<br>health_check_password = &#39;xxx&#39;<br>failover_command = &#39;/etc/pgpool.d/failover.sh %d %h %p %D %m %H %M %P&#39;<br>failback_command = &#39;/etc/pgpool.d/failback_command.sh %d %h %p %D %m %H %M %P&#39;<br>
fail_over_on_backend_error = on<br>recovery_user = &#39;postgres&#39;<br>recovery_password = &#39;postgres&#39;<br>recovery_1st_stage_command = &#39;copy_base_backup&#39;<br>recovery_2nd_stage_command = &#39;&#39;<br>recovery_timeout = 90<br>
client_idle_limit_in_recovery = 0<br>relcache_expire = 5<br><br>If need i can give you my failover, follow and failback scripts.<br>3)<br>I <span id="result_box" class="short_text" lang="en"><span class="hps">stumbled with this problem twice when try to drop database with size </span></span>approximately 1.5G.š I connect to pgpool by pgAdmin - 1.14.2 and try to drop database and then my session to pgpool hang i go directly to balancer and to the primary postgresql server and try find out what happens.<br>
<br>I write you about my <span id="result_box" class="short_text" lang="en"><span class="hps">second case</span></span>, i find logs about my first case they are identical.<br>pgpool logs:<br>2012-05-16 10:42:20 LOG:šš pid 14558: pool_send_and_wait: Error or notice message from backend: : DB node id: 0 backend pid: 31490 statement: DROP DATABASE prod_context_copy; message: database &quot;dbname&quot; is being accessed by other users<br>
2012-05-16 10:43:11 LOG:šš pid 14159: postmaster on DB node 0 was shutdown by administrative command<br>2012-05-16 10:43:11 LOG:šš pid 14159: degenerate_backend_set: 0 fail over request from pid 14159<br>2012-05-16 10:43:11 LOG:šš pid 4975: starting degeneration. shutdown host dbmaster(5432)<br>
2012-05-16 10:43:11 LOG:šš pid 4975: Restart all children<br>2012-05-16 10:43:11 LOG:šš pid 4975: execute command: /etc/pgpool.d/failover.sh 0 dbmaster 5432 /var/lib/postgresql/9.1/main 1 dbslave1 0 0<br>2012-05-16_10:43:11 failover: Master failed at dbmaster (0). New master is dbslave1 (1)<br>
2012-05-16_10:43:12 failover: New master start triggered.<br><br>postgresql logs:<br>2012-05-16 10:43:13 MSK @š LOG:š received fast shutdown request<br>2012-05-16 10:43:13 MSK @š LOG:š aborting any active transactions<br>
<br><br><br><br><div class="gmail_quote">2012/5/22 Tatsuo Ishii <span dir="ltr">&lt;<a href="mailto:ishii@postgresql.org" target="_blank">ishii@postgresql.org</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Can you please provide:<br>
<br>
1) pgpool, PostgreSQL which server are they running on? šNote that I<br>
 š don&#39;t need actual hostnames and IP addresses. I just want to know<br>
 š the &quot;topology&quot; of the server configuration.<br>
<br>
2) pgpool.conf<br>
<br>
3) How to reproduce the problem (if you know)<br>
<div class="HOEnZb"><div class="h5">--<br>
Tatsuo Ishii<br>
SRA OSS, Inc. Japan<br>
English: <a href="http://www.sraoss.co.jp/index_en.php" target="_blank">http://www.sraoss.co.jp/index_en.php</a><br>
Japanese: <a href="http://www.sraoss.co.jp" target="_blank">http://www.sraoss.co.jp</a><br>
<br>
&gt; Tatsuo what information from me, can help you to diagnose the problem? I am<br>
&gt; ready to describe to you my configuration for pgpool and postgresql.<br>
&gt;<br>
&gt; 2012/5/22 Tatsuo Ishii &lt;<a href="mailto:ishii@postgresql.org">ishii@postgresql.org</a>&gt;<br>
&gt;<br>
&gt;&gt; I don&#39;t know about your configurations where each server is<br>
&gt;&gt; residing. So I cannot say anything from what you showed below...<br>
&gt;&gt; --<br>
&gt;&gt; Tatsuo Ishii<br>
&gt;&gt; SRA OSS, Inc. Japan<br>
&gt;&gt; English: <a href="http://www.sraoss.co.jp/index_en.php" target="_blank">http://www.sraoss.co.jp/index_en.php</a><br>
&gt;&gt; Japanese: <a href="http://www.sraoss.co.jp" target="_blank">http://www.sraoss.co.jp</a><br>
&gt;&gt;<br>
&gt;&gt; &gt; I see it in log for example:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On master db:<br>
&gt;&gt; &gt; in i see this /var/log/postgresql/postgresql-9.1-main.log<br>
&gt;&gt; &gt; 2012-05-21 15:02:21 MSK @ šLOG: šreceived fast shutdown request<br>
&gt;&gt; &gt; 2012-05-21 15:02:21 MSK @ šLOG: šaborting any active transactions<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; in /var/log/auth.log i see this:<br>
&gt;&gt; &gt; May 21 15:02:21 pre-db2 sshd[6805]: debug1: PAM: initializing for<br>
&gt;&gt; &quot;postgres&quot;<br>
&gt;&gt; &gt; May 21 15:02:21 pre-db2 sshd[6805]: debug1: PAM: setting PAM_RHOST to<br>
&gt;&gt; &gt; &quot;dbbalancer1&quot;<br>
&gt;&gt; &gt; May 21 15:02:21 pre-db2 sshd[6805]: debug1: PAM: setting PAM_TTY to &quot;ssh&quot;<br>
&gt;&gt; &gt; May 21 15:02:21 pre-db2 sshd[6805]: Failed none for postgres from<br>
&gt;&gt; &gt; 10.2.141.51 port 33031 ssh2<br>
&gt;&gt; &gt; May 21 15:02:21 pre-db2 sshd[6805]: debug1: Checking blacklist file<br>
&gt;&gt; &gt; /usr/share/ssh/blacklist.RSA-2048<br>
&gt;&gt; &gt; May 21 15:02:21 pre-db2 sshd[6805]: debug1: Checking blacklist file<br>
&gt;&gt; &gt; /etc/ssh/blacklist.RSA-2048<br>
&gt;&gt; &gt; May 21 15:02:21 pre-db2 sshd[6805]: debug1: temporarily_use_uid: 105/109<br>
&gt;&gt; &gt; (e=0/0)<br>
&gt;&gt; &gt; May 21 15:02:21 pre-db2 sshd[6805]: debug1: trying public key file<br>
&gt;&gt; &gt; /var/lib/postgresql/.ssh/authorized_keys<br>
&gt;&gt; &gt; May 21 15:02:21 pre-db2 sshd[6805]: debug1: fd 4 clearing O_NONBLOCK<br>
&gt;&gt; &gt; May 21 15:02:21 pre-db2 sshd[6805]: debug1: matching key found: file<br>
&gt;&gt; &gt; /var/lib/postgresql/.ssh/authorized_keys, line 2<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I run pgpool on host dbbalancer1 under user postgres. šAnd configure<br>
&gt;&gt; pgpool<br>
&gt;&gt; &gt; script work under postgres and used ssh keys.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; And this situation repeated twice.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; 2012/5/21 Tatsuo Ishii &lt;<a href="mailto:ishii@postgresql.org">ishii@postgresql.org</a>&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; I have pgpool-II version 3.1.3 installed and three db postgresql<br>
&gt;&gt; 9.1.3 in<br>
&gt;&gt; &gt;&gt; &gt; streaming replication. When i try to drop database i see this in<br>
&gt;&gt; pgpool<br>
&gt;&gt; &gt;&gt; log:<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; 2012-05-21 15:01:48 LOG: š pid 15484: pool_send_and_wait: Error or<br>
&gt;&gt; notice<br>
&gt;&gt; &gt;&gt; &gt; message from backend: : DB node id: 1 backend pid: 6769 statement:<br>
&gt;&gt; DROP<br>
&gt;&gt; &gt;&gt; &gt; DATABASE xxx; message: database &quot;xxx&quot; is being accessed by other users<br>
&gt;&gt; &gt;&gt; &gt; 2012-05-21 15:02:20 LOG: š pid 26326: postmaster on DB node 1 was<br>
&gt;&gt; &gt;&gt; shutdown<br>
&gt;&gt; &gt;&gt; &gt; by administrative command<br>
&gt;&gt; &gt;&gt; &gt; 2012-05-21 15:02:20 LOG: š pid 26326: degenerate_backend_set: 1 fail<br>
&gt;&gt; over<br>
&gt;&gt; &gt;&gt; &gt; request from pid 26326<br>
&gt;&gt; &gt;&gt; &gt; 2012-05-21 15:02:20 LOG: š pid 4975: starting degeneration. shutdown<br>
&gt;&gt; host<br>
&gt;&gt; &gt;&gt; &gt; 10.141.2.54(5432)<br>
&gt;&gt; &gt;&gt; &gt; 2012-05-21 15:02:20 LOG: š pid 4975: Restart all children<br>
&gt;&gt; &gt;&gt; &gt; 2012-05-21 15:02:20 LOG: š pid 4975: execute command:<br>
&gt;&gt; &gt;&gt; &gt; /etc/pgpool.d/failover.sh 1 10.141.2.54 5432<br>
&gt;&gt; &gt;&gt; /var/lib/postgresql/9.1/main 0<br>
&gt;&gt; &gt;&gt; &gt; 10.141.2.53 0 1<br>
&gt;&gt; &gt;&gt; &gt; 2012-05-21_15:02:20 failover: Master failed at 10.141.2.54 (0). New<br>
&gt;&gt; &gt;&gt; master<br>
&gt;&gt; &gt;&gt; &gt; is 10.141.2.53 (0)<br>
&gt;&gt; &gt;&gt; &gt; 2012-05-21_15:02:20 failover: New master start triggered.<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; Why pgpool initiated failover procedure on statement drop database? I<br>
&gt;&gt; add<br>
&gt;&gt; &gt;&gt; &gt; drop statement in black_function_list may be this helps me.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Why do you think drop database initiated failover? The failover<br>
&gt;&gt; &gt;&gt; happend 32 seconds after drop database error.<br>
&gt;&gt; &gt;&gt; --<br>
&gt;&gt; &gt;&gt; Tatsuo Ishii<br>
&gt;&gt; &gt;&gt; SRA OSS, Inc. Japan<br>
&gt;&gt; &gt;&gt; English: <a href="http://www.sraoss.co.jp/index_en.php" target="_blank">http://www.sraoss.co.jp/index_en.php</a><br>
&gt;&gt; &gt;&gt; Japanese: <a href="http://www.sraoss.co.jp" target="_blank">http://www.sraoss.co.jp</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; --<br>
&gt;&gt; &gt; ó Õ×ÁÖÅÎÉÅÍ óÅÌÑ×ËÁ å×ÇÅÎÉÊ<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; ó Õ×ÁÖÅÎÉÅÍ óÅÌÑ×ËÁ å×ÇÅÎÉÊ<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>ó Õ×ÁÖÅÎÉÅÍ óÅÌÑ×ËÁ å×ÇÅÎÉÊ<br>