¿Cómo obtener el tamaño de espacio de tabla asignado por cada base de datos postgres?

12

El espacio de tabla de Postgres abarca todo el clúster. Por lo tanto, ¿cómo calculé cuánto espacio asignado por cada base de datos en el espacio de tabla de postgres?

Stephane Rolland
fuente

Respuestas:

16

Para obtener el espacio en disco ocupado por una base de datos (muy bien formateado):

SELECT pg_size_pretty(pg_database_size('mydb'))

Espacio en disco ocupado por un espacio de tabla:

SELECT pg_size_pretty(pg_tablespace_size('mytblspace'))

Obtenga más información sobre las funciones de tamaño de objeto de la base de datos en el manual :

Erwin Brandstetter
fuente
2
Uno podría combinar esto muy útilmente con un SELECTen las tablas del sistema: SELECT spcname, pg_size_pretty(pg_tablespace_size(spcname)) FROM pg_tablespace;y SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database;.
jpmc26