pgsql: doc: add namespace column to pg_buffercache example query

Started by Bruce Momjianabout 6 years ago3 messagescomitters
Jump to latest
#1Bruce Momjian
bruce@momjian.us

doc: add namespace column to pg_buffercache example query

Without the namespace, the table name could be ambiguous.

Reported-by: adunham@arbormetrix.com

Discussion: /messages/by-id/158155175140.23798.2189464781144503491@wrigleys.postgresql.org

Backpatch-through: 9.5

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/d68470013618009241454b5578665994b7b36d02

Modified Files
--------------
doc/src/sgml/pgbuffercache.sgml | 31 ++++++++++++++++---------------
1 file changed, 16 insertions(+), 15 deletions(-)

#2Peter Eisentraut
peter_e@gmx.net
In reply to: Bruce Momjian (#1)
Re: pgsql: doc: add namespace column to pg_buffercache example query

On 2020-03-31 23:16, Bruce Momjian wrote:

doc: add namespace column to pg_buffercache example query

Without the namespace, the table name could be ambiguous.

Reported-by: adunham@arbormetrix.com

Discussion: /messages/by-id/158155175140.23798.2189464781144503491@wrigleys.postgresql.org

Backpatch-through: 9.5

  <screen>
-regression=# SELECT c.relname, count(*) AS buffers
+regression=# SELECT n.nspname, c.relname, count(*) AS buffers
               FROM pg_buffercache b INNER JOIN pg_class c
               ON b.relfilenode = pg_relation_filenode(c.oid) AND
                  b.reldatabase IN (0, (SELECT oid FROM pg_database
                                        WHERE datname = current_database()))
-             GROUP BY c.relname
-             ORDER BY 2 DESC
+             JOIN pg_namespace n ON n.oid = c.relnamespace
+             GROUP BY n.nspname, c.relname
+             ORDER BY 3 DESC
               LIMIT 10;

Seems kind of confusing to use INNER JOIN once and then JOIN the other time.

--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

#3Bruce Momjian
bruce@momjian.us
In reply to: Peter Eisentraut (#2)
Re: pgsql: doc: add namespace column to pg_buffercache example query

On Thu, Apr 2, 2020 at 07:35:50AM +0200, Peter Eisentraut wrote:

On 2020-03-31 23:16, Bruce Momjian wrote:

doc: add namespace column to pg_buffercache example query

Without the namespace, the table name could be ambiguous.

Reported-by: adunham@arbormetrix.com

Discussion: /messages/by-id/158155175140.23798.2189464781144503491@wrigleys.postgresql.org

Backpatch-through: 9.5

<screen>
-regression=# SELECT c.relname, count(*) AS buffers
+regression=# SELECT n.nspname, c.relname, count(*) AS buffers
FROM pg_buffercache b INNER JOIN pg_class c
ON b.relfilenode = pg_relation_filenode(c.oid) AND
b.reldatabase IN (0, (SELECT oid FROM pg_database
WHERE datname = current_database()))
-             GROUP BY c.relname
-             ORDER BY 2 DESC
+             JOIN pg_namespace n ON n.oid = c.relnamespace
+             GROUP BY n.nspname, c.relname
+             ORDER BY 3 DESC
LIMIT 10;

Seems kind of confusing to use INNER JOIN once and then JOIN the other time.

Agreed, INNER removed.

--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EnterpriseDB https://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +