Queremos enseñarte la mejor solución que encontramos por todo internet. Nosotros deseamos que te sea de utilidad y si puedes compartir alguna mejora hazlo libremente.
Solución:
Pruebe las funciones de tamaño de objeto de la base de datos. Un ejemplo:
SELECT pg_size_pretty(pg_total_relation_size('"".""'));
Para todas las tablas, algo como:
SELECT
table_schema || '.' || table_name AS table_full_name,
pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS size
FROM information_schema.tables
ORDER BY
pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC;
Editar: aquí está la consulta enviada por @phord, por conveniencia:
SELECT
table_name,
pg_size_pretty(table_size) AS table_size,
pg_size_pretty(indexes_size) AS indexes_size,
pg_size_pretty(total_size) AS total_size
FROM (
SELECT
table_name,
pg_table_size(table_name) AS table_size,
pg_indexes_size(table_name) AS indexes_size,
pg_total_relation_size(table_name) AS total_size
FROM (
SELECT ('"' || table_schema || '"."' || table_name || '"') AS table_name
FROM information_schema.tables
) AS all_tables
ORDER BY total_size DESC
) AS pretty_sizes;
Lo he modificado ligeramente para usar pg_table_size()
para incluir metadatos y hacer que los tamaños se sumen.
Mostrar tamaños de base de datos:
l+
p.ej
=> l+
berbatik_prd_commerce | berbatik_prd | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 19 MB | pg_default |
berbatik_stg_commerce | berbatik_stg | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8633 kB | pg_default |
bursasajadah_prd | bursasajadah_prd | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 1122 MB | pg_default |
Mostrar tamaños de mesa:
d+
p.ej
=> d+
public | tuneeca_prd | table | tomcat | 8192 bytes |
public | tuneeca_stg | table | tomcat | 1464 kB |
solo funciona en psql
.
(Resumen de la respuesta de @zkutch).
Si el nombre de la base de datos es snort
la siguiente oración le da tamaño:
psql -c "l+ snort" | awk -F "|" 'print $7'
¡Haz clic para puntuar esta entrada!(Votos: 0 Promedio: 0)
Utiliza Nuestro Buscador