Tous les produits
Search
Centre de documentation

:Afficher la taille de stockage des tables et des bases de données

Dernière mise à jour :Sep 23, 2026

Compatible avec PostgreSQL, Hologres propose des fonctions pour interroger la taille de stockage des tables et des bases de données. Cette rubrique explique comment utiliser des instructions SQL pour effectuer ces requêtes.

Limites

  • L'interrogation de la taille de stockage concerne uniquement les tables internes. L'interrogation directe d'une table parente partitionnée n'est pas prise en charge et renvoie 0. Pour afficher la taille de stockage d'une table partitionnée, interrogez une table enfant partitionnée spécifique. Si la taille de stockage d'une table est égale à 0, la requête renvoie une valeur nulle.

  • À partir de Hologres V1.3.24, utilisez la fonction pg_relation_size pour afficher la taille de stockage du binlog des tables dont le binlog Hologres est activé.

  • La fonction pg_relation_size calcule la taille de stockage d'une table. Toutefois, les métriques de surveillance mesurent la taille totale du stockage des fichiers de l'instance dans le répertoire Pangu. Le répertoire Pangu inclut le stockage des 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, la taille de stockage indiquée par les métriques de surveillance est légèrement supérieure au résultat renvoyé par la fonction pg_relation_size.

Afficher la taille de stockage d'une table

  • Syntaxe

    SELECT pg_relation_size('table_name');--Returns the size in bytes.
  • Paramètres

    Parameter

    Description

    table_name

    Le nom de la table à interroger dans la base de données actuelle.

  • Valeur de retour : cette valeur représente l'espace occupé par la table sur le disque et en mémoire au moment de la requête.

    Pour améliorer la lisibilité, utilisez la fonction pg_size_pretty pour effectuer la requête. La syntaxe est la suivante :

    --View the storage size of a single table
    SELECT pg_size_pretty(pg_relation_size('table_name'));
    
    --View the storage size of all tables
    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;

Afficher la taille de stockage d'un schéma

  • Remarques sur l'utilisation

    Calculez la taille de stockage totale de toutes les tables au sein d'un schéma spécifique.

  • Syntaxe

    SELECT table_schema, pg_size_pretty(SUM(pg_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name))::decimal)) AS schema_size
    FROM information_schema.tables 
    WHERE table_schema = '<schema_name>'
    GROUP BY table_schema;
  • Paramètres

    Parameter

    Description

    schema_name

    Le nom du schéma à interroger.

  • Valeur de retour : l'instruction renvoie la taille de stockage totale en octets.

Afficher la taille de stockage d'une base de données

  • Remarques sur l'utilisation

    Affichez la taille de stockage uniquement de la base de données actuellement connectée.

  • Syntaxe

    SELECT pg_database_size(current_database()); --Returns the size in bytes.
  • Paramètres

    Parameter

    Description

    current_database

    Représente la base de données actuelle. Vous n'avez pas besoin de remplacer ce paramètre. Exécutez directement la commande pour interroger la taille de stockage de la base de données actuelle.

  • Valeur de retour : la fonction renvoie la taille de stockage totale de la base de données en octets. Cette taille inclut toutes les tables Hologres et le journal des transactions anticipées (WAL).

    Pour améliorer la lisibilité, utilisez la fonction pg_size_pretty. La syntaxe est la suivante :

    SELECT pg_size_pretty(pg_database_size(current_database())); --Returns the size in a human-readable format, such as KB or MB.

Afficher les détails de stockage d'une table

À partir de Hologres V2.1, utilisez la fonction hologres.hg_relation_size pour afficher une répartition détaillée du stockage d'une table, y compris ses données, son binlog et d'autres composants.

  • Limites

    La fonction hologres.hg_relation_size est prise en charge uniquement sur les instances Hologres V2.1 et versions ultérieures.

  • Syntaxe

    SELECT hologres.hg_relation_size('<schema.table>','[data|binlog|mv|all]') ;
  • Paramètres

    Parameter

    Description

    schema.table

    Le nom du schéma et le nom de la table.

    [data|binlog|mv|all]

    Paramètre facultatif. Les valeurs valides sont :

    • data : la taille de stockage des données de la table.

    • binlog : la taille de stockage du binlog de la table.

    • mv : la taille de stockage de la vue matérialisée de la table.

    • all : la taille de stockage totale de la table.

  • Exemples

    • Exemple 1 : afficher la taille de stockage des données d'une seule table.

      SELECT hologres.hg_relation_size('<schema.table>','data') ;
    • Exemple 2 : afficher la taille de stockage du binlog d'une seule table.

      SELECT hologres.hg_relation_size('<schema.table>','binlog') ;
    • Exemple 3 : afficher la taille de stockage de toutes les tables d'une base de données.

      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;