[Pgpool-general] sql to know if connection is using pgpool
Guillaume Lelarge
guillaume at lelarge.info
Tue Jan 18 20:35:17 UTC 2011
Le 18/01/2011 16:16, Gary Fu a écrit :
> On 01/17/11 19:45, Tatsuo Ishii wrote:
>>> Is there a simple query (not the 'show' command) to tell if my current
>>> db connection is using pgpool ?
>> No. Why is show pool_status not good?
>
> It causes error when the connection is not using pgpool.
>
You can try to compare inet_server_addr() and inet_server_port() with
the address and port your connected to.
Here is an example (PostgreSQL 9.0.2 on 127.0.0.1:5432, pgPool 3.0.1 on
127.0.0.1:9999).
guillaume at laptop:/opt/pgpool-head$ psql -h 127.0.0.1 -p 9999 b1
psql (9.0.2)
Type "help" for help.
b1=# select inet_server_addr() as ip, inet_server_port() as port,
inet_server_addr() <> '127.0.0.1' or inet_server_port() <> 9999 as
through_pgpool;
ip | port | through_pgpool
-----------+------+----------------
127.0.0.1 | 5432 | t
(1 row)
b1=# \q
guillaume at laptop:/opt/pgpool-head$ psql -h 127.0.0.1 -p 5432 b1
psql (9.0.2)
Type "help" for help.
b1=# select inet_server_addr() as ip, inet_server_port() as port,
inet_server_addr() <> '127.0.0.1' or inet_server_port() <> 5432 as
through_pgpool;
ip | port | through_pgpool
-----------+------+----------------
127.0.0.1 | 5432 | f
(1 row)
The "through_pgpool" column tells me if I'm connected using pgPool or
not. Actually, it won't handle every case (for example it won't if you
connect through an SSH tunnel).
--
Guillaume
http://www.postgresql.fr
http://dalibo.com
More information about the Pgpool-general
mailing list