Gestion de l'espace disque

Chaque table est composée d'un fichier disque principal. Si la table contient des colonnes pouvant recevoir des valeurs étendues, il pourrait aussi y avoir un fichier TOAST associé à la table. Des index peuvent également être associés.

Chaque table ou index est stocké dans un fichier distinct ou plusieurs si la taille du fichier dépasse 1 Go.

L'espace disque peut être surveillé de plusieurs façons différentes : en utilisant les fonctions SQL listées dans Tableau 9.70, « Fonctions de calcul de la taille des objets de la base de données », en utilisant le module oid2name(1) ou en inspectant manuellement les catalogues système. Les fonctions SQL sont les plus simples à utiliser et sont généralement recommandées.

MéthodeConnaître l'espace disque consommé par une table

Pour connaître l'espace disque consommé par une table, avec pgadmin : se positionner dans l'onglet statistique sur un table :

Dans cet exemple la taille de commune_densite est de 56 Ko, la table d'index fait 16 Ko.

La table TOAST (The Oversized-Attribute Storage Technique ) permet de stocker les attributs trop grands (typiquement les données géométriques). Ceci est transparent pour l'utilisateur.

On peut également utiliser des requêtes comme :

SELECT

relname as "Table",

pg_size_pretty(pg_total_relation_size(relid)) As "Size",

pg_size_pretty(pg_total_relation_size(relid) - pg_relation_size(relid)) as "External Size"

FROM pg_catalog.pg_statio_user_tables ORDER BY pg_total_relation_size(relid) DESC;

qui indique :

le nom de la table

la taille de la table

les tailles des objets liés (comme les index)

La tâche la plus importante d'un administrateur de base de données, en ce qui concerne la surveillance des disques, est de s'assurer que les disques n'arrivent pas à saturation.