🧚 ¡Oye! Beekeeper Studio es una GUI de bases de datos rápida, moderna y de código abierto Descarga
23 de septiembre de 2025 Por Matthew Rathbone

Desde que empecé en el mundo de las bases de datos, muchas veces he necesitado saber el tamaño de una base de datos PostgreSQL. Ya sea para planear la capacidad, monitorear su crecimiento con el tiempo o por pura curiosidad, saber cómo ver el tamaño de una base de datos en PostgreSQL puede ser súper útil.

Una pregunta que escucho seguido es: “¿Cómo veo el tamaño de una base de datos PostgreSQL?”. Pues, amigos, no es tan complicado como podrías pensar. El proceso consiste en unas consultas SQL sencillas que cualquiera con conocimientos básicos de SQL puede ejecutar. Estas consultas obtienen información de los catálogos del sistema de PostgreSQL y nos dan mediciones precisas sobre nuestros datos.

Al terminar esta guía, vas a entender claramente cómo medir el tamaño de tus propias bases de datos PostgreSQL. Si buscas una forma visual de monitorear el tamaño de tus bases de datos mientras ejecutas estas consultas, el cliente de PostgreSQL de Beekeeper Studio te ofrece una interfaz intuitiva para administrar bases de datos. ¡Así que vamos directo al grano y exploremos juntos estos comandos tan útiles!

Entendiendo el tamaño de una base de datos PostgreSQL

Cuando trabajo con PostgreSQL, una de las primeras cosas que aprendí a revisar es el tamaño de mi base de datos. No se trata solo de administrar el espacio de almacenamiento; entender el tamaño de tu base de datos te da pistas sobre el rendimiento y te ayuda a planear su crecimiento.

En PostgreSQL, hay dos componentes principales que forman el tamaño total: los datos base y los índices. Los datos base incluyen todas tus tablas y sus filas, mientras que los índices son estructuras de búsqueda especiales asociadas a tus tablas para acelerar la obtención de datos.

Este es un ejemplo básico de cómo podrías ver el tamaño total de tu base de datos en PostgreSQL:

SELECT pg_size_pretty(pg_database_size('your_database_name'));

Este comando devuelve el tamaño de ‘your_database_name’ en un formato fácil de leer. Tienes que reemplazar ‘your_database_name’ con el nombre real de tu base de datos.

¿Pero qué pasa si quieres más detalle? ¿Y si quieres saber cuánto espacio ocupa cada tabla o índice? Para eso te sirve este script:

SELECT
   relname AS "Table",
   pg_size_pretty(pg_total_relation_size(relid)) As "Size"
FROM
   pg_catalog.pg_statio_user_tables
ORDER BY
   pg_total_relation_size(relid) DESC;

Al ejecutar esta sentencia SQL obtendrás una lista de todas las tablas de usuario ordenadas por tamaño, incluyendo tanto los datos base como los índices.

¡Pero ten cuidado al interpretar estos resultados! Es común que los principiantes piensen que reducir el tamaño de las tablas libera espacio en disco de inmediato. En realidad, PostgreSQL usa algo llamado MVCC (Multi-Version Concurrency Control), que puede hacer que el uso de espacio en disco varíe con el tiempo por el procesamiento de transacciones. Esto significa que, incluso después de borrar datos de una tabla, es posible que el espacio en disco no se libere de inmediato.

Así que recuerda: estar al pendiente del tamaño de tu base de datos PostgreSQL no se trata solo de administrar el almacenamiento. También se trata de entender tus datos, planear el crecimiento y asegurar un rendimiento óptimo. Acuérdate de revisar periódicamente el tamaño de tu base de datos, sus tablas e índices: ¡este hábito te ayudará muchísimo a mantener una base de datos sana y eficiente!

Requisitos para ver el tamaño de una base de datos en PostgreSQL

Antes de ver cómo checar el tamaño de una base de datos en PostgreSQL, asegurémonos de tener cubiertos algunos puntos esenciales. Es importante contar con ciertos requisitos para que el proceso sea más fluido y eficiente.

Primero, necesitas acceso a una base de datos PostgreSQL en ejecución. Puede parecer obvio, pero aun así es necesario. Ya sea en tu sistema local o en un servidor remoto, asegúrate de que esté funcionando.

Segundo, debes tener los permisos necesarios para ejecutar sentencias SQL en la base de datos. Muchas veces esto requiere privilegios de ‘superusuario’ o de ‘dueño de la base de datos’. Si no, no podrás ejecutar los comandos necesarios para obtener la información sobre el tamaño de la base de datos.

-- You can use this command to verify your current user role
SELECT current_user;

Luego, necesitas entender algo de sintaxis y comandos básicos de SQL (Structured Query Language). Vamos a usar consultas SQL directamente en nuestro servidor PostgreSQL con una interfaz como psql (la terminal interactiva de PostgreSQL), PGAdmin4 u otra herramienta que prefieras.

Por último, también te servirá conocer bien las unidades de medida al interpretar los resultados. PostgreSQL normalmente reporta el tamaño de las bases de datos en bytes, ¡y eso rápidamente se convierte en números enormes difíciles de interpretar! Entender cómo se convierten los bytes en kilobytes (KB), megabytes (MB), gigabytes (GB), etc., te ayudará a darle sentido a esos números.

Estas son algunas conversiones comunes:

  • 1 Kilobyte = 1024 Bytes
  • 1 Megabyte = 1024 Kilobytes
  • 1 Gigabyte = 1024 Megabytes

En resumen: antes de ver el tamaño de las bases de datos en PostgreSQL, asegúrate de tener los permisos de acceso adecuados, conocer la sintaxis y los comandos de SQL, tener una conexión activa a una instancia de PostgreSQL en ejecución y entender las unidades de almacenamiento de datos. Ahora sí, estamos listos para ver los comandos específicos para revisar el tamaño de las bases de datos en PostgreSQL. Así que entremos de lleno en los detalles de cómo ver el tamaño de tu base de datos PostgreSQL. Vas a necesitar consultas SQL para esta tarea, y aquí estoy para guiarte paso a paso.

Primero, abre la herramienta de línea de comandos de PostgreSQL (psql), que te da acceso directo a tus bases de datos. Desde ahí, inicia sesión con las credenciales necesarias. ¡Ya estás listo para empezar a hacer consultas!

Para tener un panorama general del espacio total en disco que usan todas las bases de datos, usa esta consulta sencilla:

SELECT pg_size_pretty(pg_database_size(pg_database.datname)) AS size_in_mb,
pg_database.datname as database_name
FROM pg_database ORDER BY pg_database_size(pg_database.datname) DESC;

¡Ejecuta este comando y listo! Te devolverá una lista de todas las bases de datos con sus tamaños en un formato fácil de leer.

¿Pero qué pasa si quieres información de una sola base de datos? ¡No te preocupes, también lo tenemos cubierto! Sustituye ‘your_database’ en la siguiente consulta con el nombre de tu base de datos:

SELECT pg_size_pretty(pg_database_size('your_database'));

Esto te dará el tamaño de esa base de datos en particular.

Ahora, no olvides: estos dos comandos solo dan el tamaño de los datos sin índices. Si quieres incluirlos, usa pg_total_relation_size en lugar de pg_database_size. ¡Es importante no confundirlos!

Los errores comunes al ejecutar estas consultas son los errores de dedo o la sintaxis incorrecta. ¡SQL no perdona si un solo carácter o espacio está fuera de lugar! Así que siempre revisa dos veces antes de darle Enter. Recuerda también que las mayúsculas importan: ‘Your_Database’ y ‘your_database’ se consideran dos entidades completamente distintas.

¡Espero que esto te ayude a agilizar tus tareas de administración en PostgreSQL! Solo recuerda: al trabajar con bases de datos, todo se trata de precisión y atención al detalle.

Problemas comunes y soluciones al ver el tamaño de una base de datos PostgreSQL

Al adentrarte en el mundo de PostgreSQL, es normal toparte con algunos obstáculos en el camino. Por ejemplo, al intentar ver el tamaño de una base de datos en PostgreSQL, podrías encontrarte con algunos problemas comunes. ¡Pero no te preocupes! Aquí estoy para guiarte con soluciones sencillas.

Un problema típico puede ser no tener suficientes privilegios. Verás, solo los superusuarios o los usuarios con los permisos adecuados pueden ver el tamaño de las bases de datos. Así que si te sale un mensaje de error que dice “permission denied”, probablemente sea por esto. ¡Pero es fácil de resolver! Así se hace:

GRANT pg_read_all_stats TO username;

¡Solo reemplaza username con tu nombre de usuario real y listo!

Otro problema que a veces confunde a la gente es olvidar que los nombres de tablas y esquemas distinguen entre mayúsculas y minúsculas en las consultas SQL. Si escribes en minúsculas pero el nombre real tiene mayúsculas (o al revés), la consulta no devolverá resultados precisos. ¿La solución? Siempre pon los nombres entre comillas dobles:

SELECT pg_size_pretty(pg_database_size("YourDatabase"));

Un tercer error común es no refrescar las vistas materializadas antes de ver su tamaño. Esto puede mostrar información desactualizada, ya que las vistas materializadas no se actualizan automáticamente cuando cambian los datos de las tablas subyacentes.

Así se ve refrescar una vista materializada en SQL:

REFRESH MATERIALIZED VIEW your_view_name;

Por último, asegúrate de que tu versión de PostgreSQL soporte las funciones que usas para ver el tamaño de la base de datos: pg_size_pretty, pg_total_relation_size, etc., se agregaron en distintas versiones de PostgreSQL, ¡así que siempre verifícalo!

¡Y eso es todo! Estos son algunos de los problemas más comunes al intentar conocer el tamaño de las bases de datos en PostgreSQL, junto con sus soluciones. Con estos tips bajo la manga, vas por buen camino para dominar la administración de bases de datos PostgreSQL.

Conclusión: maximiza la eficiencia conociendo el tamaño de tu base de datos

Saber cómo ver el tamaño de tu base de datos PostgreSQL no es solo un truco curioso; es un conocimiento esencial que puede ayudarte a maximizar la eficiencia de muchas formas. Para empezar, conocer el tamaño exacto de tu base de datos te da una idea clara del espacio de almacenamiento que estás usando. Esto puede ser vital al planear la escalabilidad y el crecimiento.

Por ejemplo, este comando sencillo:

SELECT pg_size_pretty(pg_database_size('your_database_name'));

¡Reemplaza ‘your_database_name’ con el nombre de tu base de datos y listo! Ya tienes el tamaño. ¡Es tan fácil como prepararte un café!

Pero no dejes que su sencillez te engañe. He visto a muchos desarrolladores cometer errores comunes, como olvidar reemplazar ‘your_database_name’ o escribir mal el nombre de su base de datos. Estos errores pueden parecer menores, pero pueden dar resultados incorrectos o, peor aún, ¡ningún resultado!

Otro factor clave es que tener esta información a la mano te ayuda a optimizar los tiempos de obtención de datos. Cuando conoces el tamaño de tu base de datos, estás mejor preparado para diseñar consultas eficientes y administrar los índices de forma más efectiva.

Veamos:

SELECT *,pg_size_pretty(total_bytes) AS total
    , pg_size_pretty(index_bytes) AS INDEX
    , pg_size_pretty(toast_bytes) AS toast
    , pg_size_pretty(table_bytes) AS TABLE
  FROM (
  SELECT *, total_bytes-index_bytes-COALESCE(toast_bytes,0) AS table_bytes
    FROM (
      SELECT c.oid,nspname AS table_schema, relname AS TABLE_NAME
          , c.reltuples AS row_estimate
          , pg_total_relation_size(c.oid) AS total_bytes
          , pg_indexes_size(c.oid) AS index_bytes
          , COALESCE(pg_total_relation_size(reltoastrelid), 0) AS toast_bytes
      FROM pg_class c
      LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
      WHERE relkind = 'r'
  ) a) a;

Este comando te da el tamaño total, el tamaño de los índices, el tamaño de TOAST y el tamaño de la tabla. Con esta información, puedes tomar decisiones más informadas sobre la administración de índices y las estrategias de obtención de datos.

En conclusión, aunque ver el tamaño de tu base de datos PostgreSQL pueda parecer una tarea trivial a simple vista, en realidad es una herramienta esencial para maximizar la eficiencia. Así que la próxima vez que trabajes con bases de datos PostgreSQL, ¡ten estos comandos siempre a la mano!

Beekeeper Studio es un cliente de bases de datos gratuito y de código abierto

La mejor herramienta de consultas y edición de SQL que he usado. Tiene todo lo que necesito para administrar mi base de datos. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio es rápido, intuitivo y fácil de usar. Es compatible con muchísimas bases de datos y funciona de maravilla en Windows, Mac y Linux.

La versión de Beekeeper para Linux tiene el 100% de las funciones, sin recortes ni concesiones.

Lo que dicen los usuarios de Beekeeper Studio

★★★★★
"Beekeeper Studio reemplazó por completo mi antiguo flujo de trabajo con SQL. Es rápido, intuitivo y hace que trabajar con bases de datos vuelva a ser disfrutable."
— Alex K., desarrollador de bases de datos
★★★★★
"He probado muchas GUIs de bases de datos, pero Beekeeper logra el equilibrio perfecto entre funciones y sencillez. Simplemente funciona."
— Sarah M., ingeniera Full Stack

¿Listo para mejorar tu flujo de trabajo con SQL?

download Descarga gratis