Eu tenho instalação local do banco de dados 9.1 com poucas tabelas que tinham cca. 300 milhões de registros e o banco de dados cresceu para cerca de 20 GB. Posteriormente, emiti um delete fromcomando para excluir todos os registros dele (eu deveria ter usado truncate, mas não sabia disso). Então, fiz o vácuo total no meu banco de dados para recuperar o espaço em disco, mas isso simplesmente não ajuda. Meu problema parece idêntico a este , mas não há solução fornecida. Eu já verifiquei este tópico e documentação em "recuperando espaço em disco" , mas ainda não consigo encontrar uma solução. Eu uso esse código para obter o tamanho de todas as tabelas
SELECT nspname || '.' || relname AS "relation",
pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
FROM pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
AND C.relkind <> 'i'
AND nspname !~ '^pg_toast'
ORDER BY pg_total_relation_size(C.oid) DESC
LIMIT 15;
Totalizando menos de 1 GB, no entanto
SELECT pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size FROM pg_database
ainda mostra cerca de 20 GB. Qualquer conselho muito apreciado.
pg_cataloge tabelasinformation_schema. Portanto, tente ver se é algum deles removendo essas restrições naWHEREcláusula. Por favor, mostre sua versão exata do PostgreSQL (SELECT version()) e o que exatamente você está fazendo para "aspirar o banco de dados completo", ou seja, o comando exato. Se possível, executeVACUUM FULL VERBOSE;(sem argumentos) e cole a saída em algum lugar e vincule-a aqui.