# QAN PostgresSQL pg\_stat\_monitor not working

**URL:** <https://forums.percona.com/t/qan-postgressql-pg-stat-monitor-not-working/21447>\
**Category:** pg\_stat\_monitor\
**Created:** [April 18, 2023, 12:45am UTC](https://forums.percona.com/t/qan-postgressql-pg-stat-monitor-not-working/21447 "2023-04-18T00:45:20Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Luke\_Miller](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/luke_miller/32/10177_2.png) [@Luke\_Miller](https://forums.percona.com/u/Luke_Miller)\
**Post date:** [April 18, 2023, 12:45am UTC](https://forums.percona.com/t/qan-postgressql-pg-stat-monitor-not-working/21447/1 "2023-04-18T00:45:20Z")

</div>

I am trying to get QAN monitoring for my Postgres database. I have the Postgres server talking to PMM and I am getting OS and Postgres metrics but not QAN.

database version: PostgreSQL 12.14

# pmm-admin list

Service type Service name Address and port Service ID  
PostgreSQL dev-rms-db1-postgresql 127.0.0.1:5432 /service\_id/b40789d4-2fa4-42ab-91ff-d1e1737a97d7

Agent type Status Metrics Mode Agent ID Service ID Port  
pmm\_agent Connected /agent\_id/fcae9b4e-36f1-4870-a380-28a18d933e35 0  
node\_exporter Running push /agent\_id/6f27184d-2164-4f84-b4d5-cd96a79c7294 42000  
postgres\_exporter Running push /agent\_id/ba4c4f4d-d3e9-40f4-83ce-e7584619af43 /service\_id/b40789d4-2fa4-42ab-91ff-d1e1737a97d7 42002  
postgresql\_pgstatmonitor\_agent Waiting /agent\_id/c4a94e90-7c2d-4c46-abd1-fed90eef9d41 /service\_id/b40789d4-2fa4-42ab-91ff-d1e1737a97d7 0  
vmagent Running push /agent\_id/fbe0a404-e60a-4744-b6bc-d3ec03fdd4af 42001

I am seeing this error in the logs:  
pmm-agent[11021]: ERRO[2023-04-17T19:42:24.687-05:00] getNewBuckets failed: failed to query pg\_stat\_monitor: pq: column pg\_stat\_monitor.plans does not exist agentID=/agent\_id/c4a94e90-7c2d-4c46-abd1-fed90eef9d41 component=agent-builtin type=qan\_postgresql\_pgstatmonitor\_agent

and in the Postgres logs:  
2023-04-17 19:14:24.514 CDT [11205] ERROR: column pg\_stat\_monitor.plans does not exist at character 1170  
2023-04-17 19:14:24.514 CDT [11205] HINT: Perhaps you meant to reference the column “pg\_stat\_monitor.planid”.  
2023-04-17 19:14:24.514 CDT [11205] STATEMENT: SELECT /\* pmm-agent:pgstatmonitor \*/ “pg\_stat\_monitor”.“bucket”, “pg\_stat\_monitor”.“client\_ip”, “pg\_stat\_monitor”.“query”, “pg\_stat\_monitor”.“calls”, “pg\_stat\_monitor”.“shared\_blks\_hit”, “pg\_stat\_monitor”.“shared\_  
blks\_read”, “pg\_stat\_monitor”.“shared\_blks\_dirtied”, “pg\_stat\_monitor”.“shared\_blks\_written”, “pg\_stat\_monitor”.“local\_blks\_hit”, “pg\_stat\_monitor”.“local\_blks\_read”, “pg\_stat\_monitor”.“local\_blks\_dirtied”, “pg\_stat\_monitor”.“local\_blks\_written”, “pg\_stat\_monit  
or”.“temp\_blks\_read”, “pg\_stat\_monitor”.“temp\_blks\_written”, “pg\_stat\_monitor”.“blk\_read\_time”, “pg\_stat\_monitor”.“blk\_write\_time”, “pg\_stat\_monitor”.“resp\_calls”, “pg\_stat\_monitor”.“cpu\_user\_time”, “pg\_stat\_monitor”.“cpu\_sys\_time”, “pg\_stat\_monitor”.“rows”, “p  
g\_stat\_monitor”.“relations”, “pg\_stat\_monitor”.“datname”, “pg\_stat\_monitor”.“userid”, “pg\_stat\_monitor”.“top\_queryid”, “pg\_stat\_monitor”.“planid”, “pg\_stat\_monitor”.“query\_plan”, “pg\_stat\_monitor”.“top\_query”, “pg\_stat\_monitor”.“application\_name”, “pg\_stat\_moni  
tor”.“cmd\_type”, “pg\_stat\_monitor”.“cmd\_type\_text”, “pg\_stat\_monitor”.“elevel”, “pg\_stat\_monitor”.“sqlcode”, “pg\_stat\_monitor”.“message”, “pg\_stat\_monitor”.“pgsm\_query\_id”, “pg\_stat\_monitor”.“plans”, “pg\_stat\_monitor”.“dbid”, “pg\_stat\_monitor”.“total\_time”, “pg  
\_stat\_monitor”.“min\_time”, “pg\_stat\_monitor”.“max\_time”, “pg\_stat\_monitor”.“mean\_time”, “pg\_stat\_monitor”.“stddev\_time”, “pg\_stat\_monitor”.“bucket\_start\_time” FROM “pg\_stat\_monitor” WHERE queryid IS NOT NULL AND query IS NOT NULL AND bucket\_done

This does not show that column:  
\d pg\_stat\_monitor;  
View “public.pg\_stat\_monitor”  
Column | Type | Collation | Nullable | Default  
---------------------±-------------------------±----------±---------±--------  
bucket | bigint | | |  
bucket\_start\_time | timestamp with time zone | | |  
userid | oid | | |  
username | text | | |  
dbid | oid | | |  
datname | text | | |  
client\_ip | inet | | |  
pgsm\_query\_id | bigint | | |  
queryid | bigint | | |  
top\_queryid | bigint | | |  
query | text | | |  
comments | text | | |  
planid | bigint | | |  
query\_plan | text | | |  
top\_query | text | | |  
application\_name | text | | |  
relations | text | | |  
cmd\_type | integer | | |  
cmd\_type\_text | text | | |  
elevel | integer | | |  
sqlcode | text | | |  
message | text | | |  
calls | bigint | | |  
total\_time | double precision | | |  
min\_time | double precision | | |  
max\_time | double precision | | |  
mean\_time | double precision | | |  
stddev\_time | double precision | | |  
rows | bigint | | |  
shared\_blks\_hit | bigint | | |  
shared\_blks\_read | bigint | | |  
shared\_blks\_dirtied | bigint | | |  
shared\_blks\_written | bigint | | |  
local\_blks\_hit | bigint | | |  
local\_blks\_read | bigint | | |  
local\_blks\_dirtied | bigint | | |  
local\_blks\_written | bigint | | |  
temp\_blks\_read | bigint | | |  
temp\_blks\_written | bigint | | |  
blk\_read\_time | double precision | | |  
blk\_write\_time | double precision | | |  
resp\_calls | text | | |  
cpu\_user\_time | double precision | | |  
cpu\_sys\_time | double precision | | |  
bucket\_done | boolean | | |

Do you have any ideas? Should I try adding the column? Did something not get installed correctly?

Thanks,  
Luke

---

<div class="post-metadata">

**Author:** ![browseman](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/browseman/32/98_2.png) [@browseman](https://forums.percona.com/u/browseman)\
**Post date:** [May 24, 2023, 2:45pm UTC](https://forums.percona.com/t/qan-postgressql-pg-stat-monitor-not-working/21447/2 "2023-05-24T14:45:38Z")

</div>

Hey Luke

I think I had somewhat similar problem to the one described by you. In my case I solve it with multiple steps:

- re-installing the packages `pmm-agent` and `percona-pg_stat_monitor12` (pmm-agent was updated but not the pg\_stat\_monitor)
- reconfigure the extension based on the latest config from `https://docs.percona.com/pg-stat-monitor/`
- `DROP/CREATE EXTENSION pg_stat_monitor;`
- double check the permissions of the dedicated monitoring user and make sure it’s working
- delete and re-add the pmm service - `pmm-admin remove/add postgresql [SERVICE_NAME]`

Probably all of this wasn’t going to be needed if I simply execute the update procedure of the PG extension - [Upgrade - pg\_stat\_monitor Documentation](https://docs.percona.com/pg-stat-monitor/upgrade.html).  
May be you could give it a shot.

Hope this is somewhat helpful.  
Cheers

---

<div class="post-metadata">

**Author:** ![Jorge\_Torralba](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/jorge_torralba/32/3566_2.png) [@Jorge\_Torralba](https://forums.percona.com/u/Jorge_Torralba)\
**Post date:** [January 27, 2024, 6:51pm UTC](https://forums.percona.com/t/qan-postgressql-pg-stat-monitor-not-working/21447/3 "2024-01-27T18:51:07Z")

</div>

Make sure you connect to your postgres database and create the pg\_stat\_monitor extension in there.
