Figuring out where queries come from

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

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

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

The solution to the 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'; SETtest=# SHOW application_name ; application_name ...

Get Mastering PostgreSQL 10 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.