public inbox for [email protected]  
help / color / mirror / Atom feed
From: Torsten Förtsch <[email protected]>
To: Shenavai, Manuel <[email protected]>
Cc: [email protected] <[email protected]>
Subject: Re: Monitoring DB size
Date: Mon, 15 Jul 2024 18:59:04 +0200
Message-ID: <CAKkG4_nSEeOB4X-uThk6mTiBGU37swA2j=T8h82tnkSMTB+8aw@mail.gmail.com> (raw)
In-Reply-To: <AM9PR02MB741013EB8C5698CD8C44387CE8A12@AM9PR02MB7410.eurprd02.prod.outlook.com>
References: <AM9PR02MB741013EB8C5698CD8C44387CE8A12@AM9PR02MB7410.eurprd02.prod.outlook.com>

Slightly different approach than you might expect. For larger DBs you'd
likely want to exclude base and instead use pg_database_size() in addition.

postgres(2454884) =# create temp table xx(dir text, sz bigint);
CREATE TABLE
Time: 2.587 ms
postgres(2454884) =# copy xx(sz, dir) from program 'du -s *';

COPY 21
Time: 3.793 ms
postgres(2454884) =# select * from xx;
        dir          |  sz
----------------------+-------
base                 | 26280
global               |   568
pg_commit_ts         |    12
pg_dynshmem          |     4
pg_logical           |    16
pg_multixact         |    28
pg_notify            |     4
pg_replslot          |     4
pg_serial            |     4
pg_snapshots         |     4
pg_stat              |     4
pg_stat_tmp          |     4
pg_subtrans          |    12
pg_tblspc            |     4
pg_twophase          |     4
PG_VERSION           |     4
pg_wal               | 16392
pg_xact              |    12
postgresql.auto.conf |     4
postmaster.opts      |     4
postmaster.pid       |     4
(21 rows)

Time: 0.282 ms

On Mon, Jul 15, 2024 at 4:42 PM Shenavai, Manuel <[email protected]>
wrote:

> Hi everyone,
>
>
>
> we currently capture the db size (pg_database_size) which gives the “Disk
> space used by the database with the specified name”. Is it possible to
> further split this data how much space is occupied by live tuples, dead
> tuples and free space?
>
>
>
> We would like to have something like:
>
> DB Size: 200 MB, live tuple 100MB, Dead Tuple: 20 MB, free space 80MB
>
>
>
> Is this possible?
>
>
>
> Best regards,
>
> Manuel
>


view thread (6+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: Monitoring DB size
  In-Reply-To: <CAKkG4_nSEeOB4X-uThk6mTiBGU37swA2j=T8h82tnkSMTB+8aw@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox