Anteriormente expliqué cuánto espacio ocupan las bases de datos de un servidor MySQL? y cuánto espacio ocupan las tablas de una base de datos MySQL. Esta vez voy a explicar cómo obtener la misma información, pero en un servidor PostgreSQL.

Los comandos \l y \dt del cliente psql permiten listar bases de datos y tablas respectivamente. Sin embargo, cuando se utiliza el modificador +, también es posible conocer cuánto espacio en disco ocupan.



Tal como menciona el artículo Cómo listar tablas y bases de datos en Postgres, el cliente de línea de comandos psql posee los subcomandos \l y \dt para listar bases de datos y tablas respectivamente:

postgres=# \l
                                  List of databases
     Name     |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
--------------+----------+----------+-------------+-------------+-----------------------
 linuxito_db1 | postgres | UTF8     | es_AR.UTF-8 | es_AR.UTF-8 | 
 linuxito_db2 | postgres | UTF8     | es_AR.UTF-8 | es_AR.UTF-8 | 
 linuxito_db3 | postgres | UTF8     | es_AR.UTF-8 | es_AR.UTF-8 | 
 postgres     | postgres | UTF8     | es_AR.UTF-8 | es_AR.UTF-8 | 
 template0    | postgres | UTF8     | es_AR.UTF-8 | es_AR.UTF-8 | =c/postgres          +
              |          |          |             |             | postgres=CTc/postgres
 template1    | postgres | UTF8     | es_AR.UTF-8 | es_AR.UTF-8 | postgres=CTc/postgres+
              |          |          |             |             | =c/postgres
(6 rows)

postgres=# \c linuxito_db1
You are now connected to database "linuxito_db1" as user "postgres".
linuxito_db1=# \dt tmp*
            List of relations
 Schema |    Name     | Type  |  Owner   
--------+-------------+-------+----------
 public | tmp_content | table | postgres
 public | tmp_archive | table | postgres
 public | tmp_session | table | postgres
(3 rows)

Aunque también ambos comandos soportan el modificador +, el cual permite mostrar información adicional.

¿Cuánto espacio ocupan las bases de datos?

Para conocer cuánto espacio en disco ocupan las bases de datos de un servidor PostgreSQL, ejecutar el subcomando \l+ desde el cliente psql:

linuxito_db1=# \l+
                                                                    List of databases
     Name     |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   |  Size   | Tablespace |          
      Description                 
--------------+----------+----------+-------------+-------------+-----------------------+---------+------------+----------
----------------------------------
 linuxito_db1 | postgres | UTF8     | es_AR.UTF-8 | es_AR.UTF-8 |                       | 1036 MB | pg_default | 
 linuxito_db2 | postgres | UTF8     | es_AR.UTF-8 | es_AR.UTF-8 |                       | 1219 MB | pg_default | 
 linuxito_db3 | postgres | UTF8     | es_AR.UTF-8 | es_AR.UTF-8 |                       | 492 MB  | pg_default | 
 postgres     | postgres | UTF8     | es_AR.UTF-8 | es_AR.UTF-8 |                       | 6002 kB | pg_default | default a
dministrative connection database
 template0    | postgres | UTF8     | es_AR.UTF-8 | es_AR.UTF-8 | =c/postgres          +| 5857 kB | pg_default | unmodifia
ble empty database
              |          |          |             |             | postgres=CTc/postgres |         |            | 
 template1    | postgres | UTF8     | es_AR.UTF-8 | es_AR.UTF-8 | postgres=CTc/postgres+| 5970 kB | pg_default | default t
emplate for new databases
              |          |          |             |             | =c/postgres           |         |            | 
(6 rows)

La columna "Size" contiene el espacio ocupado por cada base de datos, expresado en unidades amigables.

¿Cuánto espacio ocupan las tablas de una base de datos?

Para conocer cuánto espacio en disco ocupa cada tabla de una base de datos en particular, ejecutar el subcomando \dt+ (habiéndose conectado previamente a la base de datos en cuestión utilizando el subcomando \c):

linuxito_db1=# \dt+ tmp*
                        List of relations
 Schema |    Name     | Type  |  Owner   |    Size    | Description 
--------+-------------+-------+----------+------------+-------------
 public | tmp_content | table | postgres | 81 MB      | 
 public | tmp_archive | table | postgres | 96 MB      | 
 public | tmp_session | table | postgres | 8197 bytes | 
(3 rows)


Tal vez pueda interesarte


Compartí este artículo