Todos los productos
Search
Centro de documentos

Hologres:Funciones de almacenamiento

Última actualización: Sep 05, 2026

Utilice estas funciones para comprobar cuánto almacenamiento consumen sus bases de datos y tablas. Son útiles para planificar la capacidad, dar seguimiento a los costos e investigar incrementos inesperados en el almacenamiento.

Función

Firma

Descripción

PG_DATABASE_SIZE

PG_DATABASE_SIZE(database_name)

Devuelve el tamaño total de almacenamiento de una base de datos, incluidas todas las tablas y los registros de escritura anticipada (WAL).

PG_RELATION_SIZE

PG_RELATION_SIZE(table_name)

Devuelve el tamaño combinado en memoria y disco de una tabla.

HOLOGRES.HG_RELATION_SIZE

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

Devuelve un desglose del almacenamiento de la tabla por componente: datos, registros binarios o vistas materializadas. Requiere Hologres V2.1 o posterior.

PG_SIZE_PRETTY convierte un conteo de bytes sin formato en un formato legible, como kB, MB o GB. Las unidades son potencias de 2: 1 kB = 1,024 bytes, 1 MB = 1,048,576 bytes. Combínela con cualquiera de las funciones anteriores para dar formato a la salida.

PG_DATABASE_SIZE

Devuelve el tamaño total de almacenamiento de la base de datos actual. Utilice esta función para obtener una visión general del consumo de almacenamiento de la base de datos.

Sintaxis

SELECT PG_DATABASE_SIZE('database_name');

Parámetros

Parámetro

Obligatorio

Descripción

database_name

Sí

El nombre de la base de datos que se va a consultar.

Valor devuelto

Devuelve la suma de:

  • Los tamaños de almacenamiento de todas las tablas de la base de datos

  • Los tamaños de los registros WAL generados en la base de datos

Ejemplo

Consulte el tamaño de la base de datos actual en un formato legible:

SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE(CURRENT_DATABASE()));

PG_RELATION_SIZE

Devuelve el tamaño total de almacenamiento de una tabla, lo cual abarca tanto el espacio en memoria como el espacio físico en disco. Utilice esta función para identificar qué tablas consumen más almacenamiento.

Sintaxis

SELECT PG_RELATION_SIZE('table_name');

Parámetros

Parámetro

Obligatorio

Descripción

table_name

Sí

El nombre de la tabla que se va a consultar.

Valor devuelto

  • Devuelve un valor de tipo STRING que indica el tamaño total del espacio en memoria y del espacio físico en disco que ocupa actualmente la tabla.

  • Devuelve 0 si consulta una tabla particionada principal sin especificar una partición secundaria.

  • Devuelve null si el tamaño de almacenamiento de la tabla es 0.

Limitaciones

  • Solo se admiten tablas internas. Para comprobar una tabla particionada, consulte una tabla particionada secundaria específica, no la tabla particionada principal directamente.

  • Consultar el tamaño de almacenamiento de una tabla con registro binario habilitado requiere Hologres V1.3.24 o posterior. Para actualizar su instancia u obtener ayuda, consulte Upgrade instances o Obtener soporte en línea para Hologres.

Las métricas de almacenamiento recopiladas desde el directorio de Apsara Distributed File System incluyen tablas, archivos de metadatos y archivos temporales generados por operaciones de escritura, actualización y eliminación. Por ello, los valores de las métricas son ligeramente superiores a los valores que devuelve PG_RELATION_SIZE .

Ejemplos

A continuación se muestran ejemplos que utilizan sample data para funciones de agregación de uso general.

Consulte el tamaño de almacenamiento de una sola tabla:

SELECT PG_SIZE_PRETTY(PG_RELATION_SIZE('example_table'));

Consulte los tamaños de almacenamiento de todas las tablas de una base de datos, ordenados de mayor a menor:

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

Devuelve el tamaño de almacenamiento de una tabla desglosado por componente: datos, registros binarios o vistas materializadas. Utilice esta función cuando necesite visibilidad detallada sobre lo que impulsa el consumo de almacenamiento; por ejemplo, para determinar si los registros binarios son el principal factor del tamaño de la tabla.

Requiere Hologres V2.1 o posterior. Para actualizar su instancia u obtener ayuda, consulte Upgrade instances o Obtener soporte en línea para Hologres.

Sintaxis

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

Parámetros

Parámetro

Obligatorio

Descripción

schema.table

Sí

El nombre completo de la tabla. schema es el nombre del esquema y table es el nombre de la tabla.

type

No

El componente de almacenamiento que se va a consultar. Valores válidos: data, binlog, mv, all.

Valores válidos de type:

Valor

Descripción

data

Tamaño de almacenamiento de los datos de la tabla.

binlog

Tamaño de almacenamiento de los registros binarios de la tabla.

mv

Tamaño de almacenamiento de la vista materializada creada para la tabla, si existe.

all

Tamaño total de almacenamiento de la tabla (datos + registros binarios + vista materializada).

Ejemplos

A continuación se muestran ejemplos que utilizan sample data para funciones de agregación de uso general.

Consulte el tamaño de almacenamiento de datos de una tabla:

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

Consulte el tamaño de almacenamiento de los registros binarios de una tabla:

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

Consulte los tamaños de almacenamiento de datos de todas las tablas de una base de datos, ordenados de mayor a menor:

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;