====== PostgreSQL : Volumétrie ======
\\ 
==== Taille des bases d'une instance ====
SELECT datname as Nom, 
pg_database_size(datname) as Taille_en_Octets, 
pg_size_pretty(pg_database_size(datname)) as Taille
FROM pg_database
ORDER BY Taille_en_Octets DESC
Génère un tableau de résultats de la forme : (ex: bases sur vmpw38)
^     ^ nom         ^ taille_en_octets  ^ taille   |
^ 1   | sde         | 31982625592       | 30 GB    |
^ 2   | postgis20   | 11223864          | 11 MB    |
^ 3   | postgres    | 6030136           | 5889 KB  |
^ ... | ...                                        |
\\ 
==== Taille des schémas d'une base ====
SELECT schemaname, 
       pg_size_pretty(t.taille_schema::BIGINT) AS taille_schema, 
       pg_size_pretty(t.taille_totale_schema::BIGINT) AS taille_totale_schema
FROM (SELECT schemaname,          
             SUM(pg_relation_size(schemaname || '.' || tablename)) AS taille_schema, 
             SUM(pg_total_relation_size(schemaname || '.' || tablename)) AS taille_totale_schema
       FROM pg_tables           
GROUP BY schemaname) AS t 
ORDER BY taille_totale_schema DESC
Génère un tableau de résultats de la forme : //(ex: base 'sde' sur vmpw38)//
^   ^ schemaname          ^ taille_schema ^ taille_totale_schema |
^ 1 | refext_ign_bd_topo  | 8687 MB       | 10 GB                |
^ 2 | refext_cadastre     | 2995 MB       | 4215 MB              |
^ 3 | refext_monde        | 2049 MB       | 4029 MB              |
^ ... | ...                                                      |
\\ 
==== Taille des tables d'une base de données ====
SELECT table_name, 
       pg_size_pretty(t.Taille_donnees::BIGINT) AS Taille_donnees, 
       pg_size_pretty(t.Taille_totale::BIGINT) AS Taille_totale
FROM ( 
    SELECT table_name, 
           SUM(pg_relation_size(table_schema || '.' || table_name)) As Taille_donnees,
           SUM(pg_total_relation_size(table_schema || '.' || table_name)) As Taille_totale
    FROM information_schema.tables
    GROUP BY table_name
    )
AS t 
ORDER BY Taille_totale DESC