← Back to all TILs

Check The Size Of Databases In A Cluster

postgres Written May 07, 2025

The \l command in psql will list all the databases for the server. The field surfaced by this meta-command are:

  • Name
  • Owner
  • Encoding
  • Locale Provider
  • Collate
  • Ctype
  • ICU Locale
  • ICU Rules
  • Access privileges

If we add a +, issuing instead \l+, we get three additional fields:

  • Size
  • Tablespace
  • Description

The Size column is the human-formatted size of each database.

Another way to do this is with some SQL querying the underlying record keeping of the server's database.

select
  db.datname as db_name,
  pg_size_pretty(pg_database_size(db.datname)) as db_size
from pg_database db
order by pg_database_size(db.datname) desc;

Credit to this StackOverflow answer for how to do this with a SQL query.

source

Other posts like this