Thread: pg_stat_activity.query empty

pg_stat_activity.query empty

From
Robert Lichtenberger
Date:
When executing "SELECT * FROM pg_stat_activity" I get lots of rows that 
have an empty "query" column.

According to [1] this column should contain the "Text of this backend's 
most recent query", either a query that is currently running or the last 
query that was executed.

So how comes that a lot of the rows in pg_stat_activity have an empty 
"query"?


https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW






Re: pg_stat_activity.query empty

From
"David G. Johnston"
Date:
On Tue, Apr 26, 2022 at 6:55 AM Robert Lichtenberger <r.lichtenberger@synedra.com> wrote:
When executing "SELECT * FROM pg_stat_activity" I get lots of rows that
have an empty "query" column.

According to [1] this column should contain the "Text of this backend's
most recent query", either a query that is currently running or the last
query that was executed.

So how comes that a lot of the rows in pg_stat_activity have an empty
"query"?


https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW


They've never executed a query.  Probably due to connection pooling opening connections for the pool but never needing to hand them out.

David J.

Re: pg_stat_activity.query empty

From
Laurenz Albe
Date:
On Tue, 2022-04-26 at 06:59 -0700, David G. Johnston wrote:
> On Tue, Apr 26, 2022 at 6:55 AM Robert Lichtenberger <r.lichtenberger@synedra.com> wrote:
> > When executing "SELECT * FROM pg_stat_activity" I get lots of rows that 
> > have an empty "query" column.
> > 
> > According to [1] this column should contain the "Text of this backend's 
> > most recent query", either a query that is currently running or the last 
> > query that was executed.
> > 
> > So how comes that a lot of the rows in pg_stat_activity have an empty 
> > "query"?
> > 
> > https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW
> 
> They've never executed a query.  Probably due to connection pooling opening connections for the pool but never
needingto hand them out.
 

An alternative option is that the last query sent was an empty string.

Yours,
Laurenz Albe




Re: pg_stat_activity.query empty

From
Ian Lawrence Barwick
Date:
2022年4月26日(火) 23:24 Laurenz Albe <laurenz.albe@cybertec.at>:
>
> On Tue, 2022-04-26 at 06:59 -0700, David G. Johnston wrote:
> > On Tue, Apr 26, 2022 at 6:55 AM Robert Lichtenberger <r.lichtenberger@synedra.com> wrote:
> > > When executing "SELECT * FROM pg_stat_activity" I get lots of rows that
> > > have an empty "query" column.
> > >
> > > According to [1] this column should contain the "Text of this backend's
> > > most recent query", either a query that is currently running or the last
> > > query that was executed.
> > >
> > > So how comes that a lot of the rows in pg_stat_activity have an empty
> > > "query"?
> > >
> > > https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW
> >
> > They've never executed a query.  Probably due to connection pooling opening connections for the pool but never
needingto hand them out. 
>
> An alternative option is that the last query sent was an empty string.

Or it's the kind of backend which doesn't normally execute queries.

epp=# SELECT backend_type FROM pg_stat_activity WHERE query = '';
        backend_type
------------------------------
autovacuum launcher
pglogical supervisor
logical replication launcher
pglogical manager 16389
background writer
checkpointer
walwriter
(7 rows)


Regards

Ian Barwick


--
EnterpriseDB: https://www.enterprisedb.com