Figuring out where queries come from

When inspecting pg_stat_activity, there are some fields that will tell us where a query comes from:

client_addr     | inet    |
client_hostname | text |
client_port | integer |

These fields will contain IP addresses and hostnames (if configured). But what happens if every application sends their requests from the very same IP because all of the applications reside on the same application server? It will be very hard for us to see which application generated a certain query.

The solution to this problem is to ask the developers to set an application_name variable:

test=# SHOW application_name ;
application_name
------------------
psql

(1 row)

test=# SET application_name TO 'some_name';
SET


test=# SHOW application_name ;
application_name
------------------
some_name

(1 row)

If people are cooperative, the application_name variable will show up in the system view and make it a lot easier to see where a query comes from. The application_name variable can also be set as part of the connect string.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset