Subject: Is it possible to turn on pg_stat_extensions at a database level

From: "Subramanian,Ramachandran" <[email-masked]>
Date: Thu, 12 Mar 2026 08:54:04 +0000

Hello,

   I have turned on pg_stat_extension for an instance. This instance has many databases. I want to confine the statistics to only one database.

Is it possible to do this?

LG

Ram

Freundliche Grüße

i. A. Ramachandran Subramanian
Zentralbereich Informationstechnologie

Alte Leipziger Lebensversicherung a.G.

Hallesche Krankenversicherung a.G.

Alte Leipziger Lebensversicherung a.G., Alte Leipziger-Platz 1, 61440 Oberursel
Vors. des Aufsichtsrats: Dr. Walter Botermann · Vorstand: Christoph Bohn (Vors.), Dr. Jürgen Bierbaum (stv. Vors.), Frank Kettnaker, Dr. Jochen Kriegmeier, Alexander Mayer, Christian Pape, Wiltrud Pekarek, Udo Wilcsek
Sitz Oberursel (Taunus) · Rechtsform VVaG · Amtsgericht Bad Homburg v. d. H. HRB 1583 · USt.-IdNr. DE 114106814

Hallesche Krankenversicherung a.G.,  Löffelstraße 34-38, 70597 Stuttgart
Vors. des Aufsichtsrats: Dr. Walter Botermann · Vorstand: Christoph Bohn (Vors.), Dr. Jürgen Bierbaum (stv. Vors.), Frank Kettnaker, Dr. Jochen Kriegmeier, Alexander Mayer, Christian Pape,
Wiltrud Pekarek, Udo Wilcsek
Sitz Stuttgart · Rechtsform VVaG · Amtsgericht Stuttgart HRB 2686 · USt.-IdNr. DE 147802285
Beiträge zu privaten Kranken- und Pflegekrankenversicherungen unterliegen nicht der Versicherungsteuer (§ 4 Nr. 5 VersStG) · Versicherungsleistungen sowie Umsätze aus Versicherungsvertreter-/Maklertätigkeiten sind umsatzsteuerfrei

Die Pflichtangaben der ALH Gruppe gemäß § 35a GmbHG bzw. § 80 AktG finden Sie hier: https://www.alte-leipziger.de/impressum 

______________________

ALH Gruppe
Alte Leipziger-Platz 1, 61440 Oberursel
Tel.: +49 (6171) 66-4882
Fax: +49 (6171) 66-800-4882
E-Mail: [email-masked]
www.alte-leipziger.de
www.hallesche.de

---

From: hubert depesz lubaczewski <[email-masked]>
Date: Thu, 12 Mar 2026 10:30:05 +0100

> Is it possible to do this?

Do you mean pg_stat_statements?

If no - sorry, never heard of pg_stat_extension.

If yes - nope. stats are global. You can limit what you're analysing
from stats by adding appropriate where condition, like:

SELECT
    *
FROM
    pg_stat_statements AS pss
    JOIN pg_database AS d ON pss.dbid = d.oid
WHERE
    d.datname = 'postgres';

Best regards,

depesz

---

From: "Subramanian,Ramachandran" <[email-masked]>
Date: Thu, 12 Mar 2026 09:33:29 +0000

Yes,  I mistyped .

Pg_stat_statements.   

  I meant to ask if the extension can be created only for one database, so that the details from the other databases are not recorded. 

LG

Ram

Freundliche Grüße

 

______________________

ALH Gruppe

-----Ursprüngliche Nachricht-----
Von: [email-masked] <[email-masked]> 
Gesendet: Donnerstag, 12. März 2026 10:30
An: Subramanian,Ramachandran IT-md-db <[email-masked]>
Cc: [email-masked]
Betreff: Re: Is it possible to turn on pg_stat_extensions at a database level

If yes - nope. stats are global. You can limit what you're analysing from stats by adding appropriate where condition, like:

SELECT
    *
FROM
    pg_stat_statements AS pss
    JOIN pg_database AS d ON pss.dbid = d.oid WHERE
    d.datname = 'postgres';

Best regards,

depesz

---

From: hubert depesz lubaczewski <[email-masked]>
Date: Thu, 12 Mar 2026 10:38:24 +0100

>   I meant to ask if the extension can be created only for one database, so that the details from the other databases are not recorded. 

So, no. You can't.

Best regards,

depesz

---

From: Laurenz Albe <[email-masked]>
Date: Thu, 12 Mar 2026 20:59:36 +0100

> >    I meant to ask if the extension can be created only for one database, so that the details from the other databases are not recorded. 

... but there is no need to do that.

If you are only interested in the statistics for statements on a single database,
add a WHERE condition with the database's object ID, like

  WHERE dbid = 47110815

Yours,
Laurenz Albe

---

From: "Subramanian,Ramachandran" <[email-masked]>
Date: Fri, 13 Mar 2026 05:54:42 +0000

Coming from the mainframe world, we always assume that there is a lot of CPU/IO expense to monitor and collect statistics from unnecessary Databases. 

This is why I wanted the collection of the statitstics itself to be restricted to just one Database. 

LG

Ram

Freundliche Grüße

 

______________________

ALH Gruppe

-----Ursprüngliche Nachricht-----
Von: Laurenz Albe <[email-masked]> 
Gesendet: Donnerstag, 12. März 2026 21:00
An: [email-masked]; Subramanian,Ramachandran IT-md-db <[email-masked]>
Cc: [email-masked]
Betreff: Re: AW: Is it possible to turn on pg_stat_extensions at a database level

If you are only interested in the statistics for statements on a single database, add a WHERE condition with the database's object ID, like

  WHERE dbid = 47110815

Yours,
Laurenz Albe

---

From: Laurenz Albe <[email-masked]>
Date: Fri, 13 Mar 2026 07:58:39 +0100

On Fri, 2026-03-13 at 05:54 +0000, Subramanian,Ramachandran wrote:
> Coming from the mainframe world, we always assume that there is a lot of
> CPU/IO expense to monitor and collect statistics from unnecessary Databases. 
> 

Ok, now you know that you cannot get it.

I doubt that there are databases where monitoring is unnecessary:

- if there is nothing doing in that database, that won't be a lot of statistics
  to collect

- if there is a lot going on in that database, the load will be noteworthy
  and can affect your other, necessary, databases in the same cluster, so
  you need the statistics to diagnose such problems

Yours,
Laurenz Albe

---

From: vrms <[email-masked]>
Date: Tue, 17 Mar 2026 11:59:50 +0100

As far as I understand the matter the extension starts gathering 
statistical information on statements in all databases of a cluster once 
'pg_stat_statments' is mentioned in the 'shared_preload_libraries' 
setting (including all overhead coming with it) and does nothing without it.

CREATE EXTENSION pg_stat_statements just adds the view to look at these, 
based on the WHERE clauses mentioned already.
It does not even have to be created inside that database you want to use 
it for.

all best
Gunnar