Thread: BUG #15493: Wrong name of fields/missing fields for the internalstatistic
BUG #15493: Wrong name of fields/missing fields for the internalstatistic
From
PG Bug reporting form
Date:
The following bug has been logged on the website: Bug reference: 15493 Logged by: - - Email address: frank.buettner@mdc-berlin.de PostgreSQL version: 11.0 Operating system: CentOS 7.5 Description: How to produce: - Simple install pgsql 11 on CentOS from yum repo of postgresql.org - init the cluster - start the server - wait some time After some times, many errors are logged about not existing fields. < 2018-11-08 14:21:59.820 CET >ERROR: column "procpid" does not exist at character 132 < 2018-11-08 14:21:59.820 CET >STATEMENT: SELECT datname, datid, usename, client_addr, '' AS state, COALESCE(ROUND(EXTRACT(epoch FROM now()-query_start)),0) AS seconds, procpid as pid, regexp_replace(current_query, E'[\n\r\u2028]+', ' ', 'g' ) AS current_query FROM pg_stat_activity WHERE (query_start IS NOT NULL AND current_query NOT LIKE '<IDLE>%') ORDER BY query_start, procpid DESC; < 2018-11-08 14:22:00.117 CET >ERROR: column "current_query" does not exist at character 200 < 2018-11-08 14:22:00.117 CET >STATEMENT: SELECT COUNT(datid) AS current, (SELECT setting AS mc FROM pg_settings WHERE name = 'max_connections') AS mc, d.datname FROM pg_database d LEFT JOIN pg_stat_activity s ON (s.datid = d.oid) WHERE current_query <> '<IDLE>' GROUP BY 2,3 ORDER BY datname When I look in the database I can see, that the field has other name: postgres=# \d+ pg_stat_activity View "pg_catalog.pg_stat_activity" Column | Type | Collation | Nullable | Default | Storage | Description ------------------+--------------------------+-----------+----------+---------+----------+------------- datid | oid | | | | plain | datname | name | | | | plain | pid | integer | | | | plain | And pg_settings has no column current_query: postgres=# \d+ pg_settings View "pg_catalog.pg_settings" Column | Type | Collation | Nullable | Default | Storage | Description -----------------+---------+-----------+----------+---------+----------+------------- name | text | | | | extended | setting | text | | | | extended | unit | text | | | | extended | category | text | | | | extended | short_desc | text | | | | extended | extra_desc | text | | | | extended | context | text | | | | extended | vartype | text | | | | extended | source | text | | | | extended | min_val | text | | | | extended | max_val | text | | | | extended | enumvals | text[] | | | | extended | boot_val | text | | | | extended | reset_val | text | | | | extended | sourcefile | text | | | | extended | sourceline | integer | | | | plain | pending_restart | boolean | | | | plain |
Re: BUG #15493: Wrong name of fields/missing fields for the internal statistic
From
Jeff Janes
Date:
On Thu, Nov 8, 2018 at 9:12 AM PG Bug reporting form <noreply@postgresql.org> wrote:
The following bug has been logged on the website:
Bug reference: 15493
Logged by: - -
Email address: frank.buettner@mdc-berlin.de
PostgreSQL version: 11.0
Operating system: CentOS 7.5
Description:
How to produce:
- Simple install pgsql 11 on CentOS from yum repo of postgresql.org
- init the cluster
- start the server
- wait some time
The query you show is not executed merely due to the passage of time. Something is executing that query. It is probably a monitoring tool.
Since procpid was removed back in version 9.2, the monitoring tools seems massively out of date. It is possible this tool has buggy code to detect the version, and concludes that v11 is prior to 9.2. But that seems unlikely to be broken by v11 but not by v10. Do you have the same problem in v10?
Figure out what your monitoring tool is and report the bug to its maintainer.
Cheers,
Jeff
=?utf-8?q?PG_Bug_reporting_form?= <noreply@postgresql.org> writes: > After some times, many errors are logged about not existing fields. > < 2018-11-08 14:21:59.820 CET >ERROR: column "procpid" does not exist at > character 132 > < 2018-11-08 14:21:59.820 CET >STATEMENT: SELECT datname, datid, usename, > client_addr, '' AS state, COALESCE(ROUND(EXTRACT(epoch FROM > now()-query_start)),0) AS seconds, > procpid as pid, regexp_replace(current_query, E'[\n\r\u2028]+', ' > ', 'g' ) AS current_query FROM pg_stat_activity WHERE (query_start IS NOT > NULL AND current_query NOT LIKE '<IDLE>%') ORDER BY query_start, procpid > DESC; The procpid and current_query columns disappeared from pg_stat_activity in Postgres 9.2 (or more accurately, they were renamed because they changed meaning a bit). Apparently you're using some very old monitoring software that hasn't been updated to know about that. regards, tom lane
Re: BUG #15493: Wrong name of fields/missing fields for the internalstatistic
From
Frank Büttner
Date:
Hi Tom, thanks for the hint. In the background there was an extreme old monitoring script running. But I didn't know about it. Now it is fixed. Regards, Frank Am 08.11.2018 um 15:48 schrieb Tom Lane: > =?utf-8?q?PG_Bug_reporting_form?= <noreply@postgresql.org> writes: >> After some times, many errors are logged about not existing fields. >> < 2018-11-08 14:21:59.820 CET >ERROR: column "procpid" does not exist at >> character 132 >> < 2018-11-08 14:21:59.820 CET >STATEMENT: SELECT datname, datid, usename, >> client_addr, '' AS state, COALESCE(ROUND(EXTRACT(epoch FROM >> now()-query_start)),0) AS seconds, >> procpid as pid, regexp_replace(current_query, E'[\n\r\u2028]+', ' >> ', 'g' ) AS current_query FROM pg_stat_activity WHERE (query_start IS NOT >> NULL AND current_query NOT LIKE '<IDLE>%') ORDER BY query_start, procpid >> DESC; > > The procpid and current_query columns disappeared from pg_stat_activity in > Postgres 9.2 (or more accurately, they were renamed because they changed > meaning a bit). Apparently you're using some very old monitoring software > that hasn't been updated to know about that. > > regards, tom lane >