[pgpool-general: 7422] Re: Failover triggered when DB connections killed.
Tatsuo Ishii
ishii at sraoss.co.jp
Tue Feb 23 16:23:01 JST 2021
Please note that this is written in the documentation:
https://www.pgpool.net/docs/41/en/html/restrictions.html
>> SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity
>> WHERE pg_stat_activity.datname = 'DBNAME' AND pid <> pg_backend_pid();
>
> This form of pg_terminate_backend() is not supported in Pgpool-II.
> You need to call pg_terminate_backend() with integer constant
> argument. i.e.
>
> SELECT pg_ternamite_backend(1234);
>
> Other forms including yours will trigger failover.
>
> Best regards,
> --
> Tatsuo Ishii
> SRA OSS, Inc. Japan
> English: http://www.sraoss.co.jp/index_en.php
> Japanese:http://www.sraoss.co.jp
>
> From: Sushil Shirodkar <sushilps at hotmail.com>
> Subject: Re: Failover triggered when DB connections killed.
> Date: Mon, 22 Feb 2021 22:10:49 +0000
> Message-ID:
> <MN2PR12MB420832CF2ECC57001701A223D4819 at MN2PR12MB4208.namprd12.prod.outlook.com>
>
>> Hello friend,
>>
>> Came across your suggestion and wanted to ask you some questions, can you
>> please suggest your recommendations. I have already posted my issue earlier if
>> you see at the bottom of this email on the mailing-list but didn't get any response
>> from other friends.
>>
>> Basically, we are using Pgpool for failover and load balancer, 1 +2 servers (pri/slave).
>> Our all the traffic comes to Server 1 (pgpool) and does the load balancing etc. but
>> when we run pg_terminate either on Server 1 or Server 2(primary) it triggers the
>> failover.
>>
>> Basically, Server 1 is having 5432 tried with 9898 didn't work. Unless we connect to this
>> server 1 our load balancing or failover will not work. Can you pl. clarify, what you meant to
>> say and how that can be achieved.
>>
>> Your help on the above will be highly appreciated.
>>
>>
>> Thanks in advance,
>> Sushil Shirodkar....
>>
>> Re: Pgpool is crashing when terminating user session
>> From: Tatsuo Ishii <ishii(at)sraoss(dot)co(dot)jp>
>> To: garajamohan(at)gmail(dot)com
>> Cc: pgsql-general(at)lists(dot)postgresql(dot)org
>> Subject: Re: Pgpool is crashing when terminating user session
>> Date: 2020-05-16 11:55:15
>> Message-ID: 20200516.205515.2045846881954825697.t-ishii at sraoss.co.jp<https://www.postgresql.org/message-id/20200516.205515.2045846881954825697.t-ishii%40sraoss.co.jp>
>> Views: Raw Message<https://www.postgresql.org/message-id/raw/20200516.205515.2045846881954825697.t-ishii%40sraoss.co.jp> | Whole Thread<https://www.postgresql.org/message-id/flat/20200516.205515.2045846881954825697.t-ishii%40sraoss.co.jp> | Download mbox<https://www.postgresql.org/message-id/mbox/20200516.205515.2045846881954825697.t-ishii%40sraoss.co.jp> | Resend email<https://www.postgresql.org/message-id/resend/20200516.205515.2045846881954825697.t-ishii%40sraoss.co.jp>
>> Thread:
>> 2020-05-16 11:20:05 from RAJAMOHAN <garajamohan(at)gmail(dot)com>
>>
>> 2020-05-16 11:55:15 from Tatsuo Ishii <ishii(at)sraoss(dot)co(dot)jp>
>>
>> Lists: pgsql-general<https://www.postgresql.org/list/pgsql-general/since/202005161155>
>>
>>> Hello all,
>>>
>>> We are having master-slave setup with pgpool pointing, only to master
>>> server. Whenever i tried to terminate the long running session on db end
>>> using SELECT pg_terminate_backend(pid), pgpool is getting crashed. Many
>>> blogs are saying this is the expected behaviour of pgpool, but my question
>>> is there anyway to terminate unwanted sessions on db without loosing other
>>> connections.
>>>
>>> Because restarting entire system every time for a single trouble causing
>>> session is a big hectic for us. Please share you ideas on this.
>>
>> Those blogs are incorrect. From Pgpool-II 3.6 Pgpool-II supports
>> pg_terminate_backend(). Are you sure that you use "SELECT
>> pg_terminate_backend(pid)" from Pgpool-II session, not from a session
>> directly connecting to PostgreSQL?
>>
>> Port 11000 is the port Pgpool-II is listening on.
>>
>> [killing session]
>>
>> $ psql -p 11000 test
>> psql (12.2)
>> Type "help" for help.
>>
>> test=# select pg_terminate_backend(13877);
>> pg_terminate_backend
>> ----------------------
>> t
>> (1 row)
>>
>> [killed session]
>>
>> $ psql -p 11000 test
>> psql (12.2)
>> Type "help" for help.
>>
>> test=# select pg_sleep(600);
>> FATAL: terminating connection due to administrator command
>> ERROR: unable to forward message to frontend
>> DETAIL: FATAL error occured on backend
>> server closed the connection unexpectedly
>> This probably means the server terminated abnormally
>> before or while processing the request.
>> The connection to the server was lost. Attempting reset: Succeeded.
>> test=#
>>
>> Best regards,
>> --
>> Tatsuo Ishii
>> SRA OSS, Inc. Japan
>> English: http://www.sraoss.co.jp/index_en.php
>> Japanese:http://www.sraoss.co.jp
>>
>>
>>
>> ________________________________
>> From: Sushil Shirodkar
>> Sent: Wednesday, January 13, 2021 10:08 AM
>> To: pgpool-general at pgpool.net <pgpool-general at pgpool.net>
>> Subject: Failover triggered when DB connections killed.
>>
>> Hello friends,
>>
>> Was looking for some help on the following scenario and issue we are having.
>>
>> Postgres 12.5 / Ubuntu 20.04 / Pgpool 4.1.4
>>
>> With the above combination, we are running primary/secondary
>> and the third server as Pgpool for load balancing and automatic
>> failover.
>>
>> When the below mentioned query run on Pgpool server, it triggered
>> failover to secondary and it became Primary. Couldn't figure
>> out as why killing of database connections triggered failover.
>>
>> SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity
>> WHERE pg_stat_activity.datname = 'DBNAME' AND pid <> pg_backend_pid();
>>
>> Thanks,
>> Sushil...
>>
>>
> _______________________________________________
> pgpool-general mailing list
> pgpool-general at pgpool.net
> http://www.pgpool.net/mailman/listinfo/pgpool-general
More information about the pgpool-general
mailing list