Tous les produits
Search
Centre de documentation

Hologres:Storage functions

Dernière mise à jour :Aug 11, 2026

Utilisez ces fonctions pour vérifier l'espace de stockage consommé par vos bases de données et vos tables. Elles sont utiles pour la planification des capacités, le suivi des coûts et l'analyse d'une augmentation inattendue du stockage.

Fonction Signature Description
PG_DATABASE_SIZE PG_DATABASE_SIZE(database_name) Renvoie la taille totale de stockage d'une base de données, y compris toutes les tables et les journaux WAL (Write-Ahead Logging).
PG_RELATION_SIZE PG_RELATION_SIZE(table_name) Renvoie la taille combinée en mémoire et sur disque d'une table.
HOLOGRES.HG_RELATION_SIZE HOLOGRES.HG_RELATION_SIZE('schema.table'[, 'type']) Renvoie le détail du stockage d'une table par composant : données, journaux binaires ou vues matérialisées. Nécessite Hologres V2.1 ou version ultérieure.
PG_SIZE_PRETTY convertit un nombre brut d'octets dans un format lisible, tel que kB, MB ou GB. Les unités sont basées sur des puissances de 2 : 1 kB = 1 024 octets, 1 MB = 1 048 576 octets. Combinez cette fonction avec l'une des fonctions ci-dessus pour formater la sortie.

PG_DATABASE_SIZE

Renvoie la taille totale de stockage de la base de données actuelle. Utilisez cette fonction pour obtenir une vue d'ensemble de la consommation de stockage au niveau de la base de données.

Syntaxe

SELECT PG_DATABASE_SIZE('database_name');

Paramètres

Paramètre Obligatoire Description
database_name Oui Nom de la base de données à interroger.

Valeur de retour

Renvoie la somme des éléments suivants :

  • Tailles de stockage de toutes les tables de la base de données

  • Tailles des journaux WAL générés dans la base de données

Exemple

Affichez la taille de la base de données actuelle dans un format lisible :

SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE(CURRENT_DATABASE()));

PG_RELATION_SIZE

Renvoie la taille totale de stockage d'une table, couvrant à la fois l'espace mémoire et l'espace disque physique. Utilisez cette fonction pour identifier les tables qui consomment le plus de stockage.

Syntaxe

SELECT PG_RELATION_SIZE('table_name');

Paramètres

Paramètre Obligatoire Description
table_name Oui Nom de la table à interroger.

Valeur de retour

  • Renvoie une valeur de type STRING indiquant la taille totale de l'espace mémoire et de l'espace disque physique actuellement occupés par la table.

  • Renvoie 0 si vous interrogez une table partitionnée parente sans spécifier de partition enfant.

  • Renvoie null si la taille de stockage de la table est égale à 0.

Limitations

  • Seules les tables internes sont prises en charge. Pour vérifier une table partitionnée, interrogez une table partitionnée enfant spécifique plutôt que la table partitionnée parente directement.

  • L'interrogation de la taille de stockage d'une table avec la journalisation binaire activée nécessite Hologres V1.3.24 ou une version ultérieure. Pour mettre à jour votre instance ou obtenir de l'aide, consultez Mettre à niveau les instances ou Obtenir une assistance en ligne pour Hologres.

Les métriques de stockage collectées depuis le répertoire Apsara Distributed File System incluent les tables, les fichiers de métadonnées et les fichiers temporaires générés par les opérations d'écriture, de mise à jour et de suppression. Par conséquent, les valeurs des métriques sont légèrement supérieures aux valeurs renvoyées par PG_RELATION_SIZE .

Exemples

Les exemples suivants utilisent les données d'exemple pour les fonctions d'agrégation générales.

Interrogez la taille de stockage d'une seule table :

SELECT PG_SIZE_PRETTY(PG_RELATION_SIZE('example_table'));

Interrogez les tailles de stockage de toutes les tables d'une base de données, triées de la plus grande à la plus petite :

SELECT table_schema || '.' || table_name AS table_full_name,
  PG_SIZE_PRETTY(PG_RELATION_SIZE(QUOTE_IDENT(table_schema) || '.' || QUOTE_IDENT(table_name))) AS table_size,
  PG_RELATION_SIZE(QUOTE_IDENT(table_schema) || '.' || QUOTE_IDENT(table_name)) AS order_size
FROM information_schema.tables
WHERE table_schema NOT IN ('pg_catalog', 'information_schema', 'hologres')
ORDER BY order_size DESC;

HOLOGRES.HG_RELATION_SIZE

Renvoie la taille de stockage d'une table ventilée par composant : données, journaux binaires ou vues matérialisées. Utilisez cette fonction lorsque vous avez besoin d'une visibilité granulaire sur ce qui entraîne la consommation de stockage, par exemple pour déterminer si les journaux binaires constituent le principal contributeur à la taille de la table.

Nécessite Hologres V2.1 ou une version ultérieure. Pour mettre à jour votre instance ou obtenir de l'aide, consultez Mettre à niveau les instances ou Obtenir une assistance en ligne pour Hologres.

Syntaxe

SELECT HOLOGRES.HG_RELATION_SIZE('schema.table'[, 'type']);

Paramètres

Paramètre Obligatoire Description
schema.table Oui Nom complet de la table. schema correspond au nom du schéma et table au nom de la table.
type Non Composant de stockage à interroger. Valeurs valides : data, binlog, mv, all.

Valeurs valides pour type :

Valeur Description
data Taille de stockage des données de la table.
binlog Taille de stockage des journaux binaires de la table.
mv Taille de stockage de la vue matérialisée créée pour la table, le cas échéant.
all Taille totale de stockage de la table (données + binlog + mv).

Exemples

Les exemples suivants utilisent les données d'exemple pour les fonctions d'agrégation générales.

Interrogez la taille de stockage des données d'une table :

SELECT HOLOGRES.HG_RELATION_SIZE('public.example_table', 'data');

Interrogez la taille de stockage des journaux binaires d'une table :

SELECT HOLOGRES.HG_RELATION_SIZE('public.example_table', 'binlog');

Interrogez les tailles de stockage des données de toutes les tables d'une base de données, triées de la plus grande à la plus petite :

SELECT table_schema || '.' || table_name AS table_full_name,
  pg_size_pretty(hologres.hg_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name), 'data')) AS data_size,
  hologres.hg_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name), 'data') AS order_size
FROM information_schema.tables
WHERE table_schema NOT IN ('pg_catalog', 'information_schema', 'hologres', 'hologres_statistic')
ORDER BY order_size DESC;