cca가있는 테이블이 거의없는 9.1 데이터베이스의 로컬 설치가 있습니다. 300 개의 mio 레코드와 데이터베이스가 약 20GB로 증가했습니다. 그 후 delete from
모든 레코드를 삭제하라는 명령을 내 렸습니다 (을 사용해야 truncate
했지만 그 사실을 몰랐습니다). 따라서 디스크 공간을 확보하기 위해 DB를 완전히 진공 청소기로 청소했지만 도움이되지 않습니다. 내 문제는 동일 보이는 이것 만 제공 해결 방법이 없습니다. 이 디스크 와 "디스크 공간 복구" 에 대한 문서를 이미 확인 했지만 여전히 해결책을 찾을 수 없습니다. 이 코드를 사용하여 모든 테이블의 크기를 얻습니다.
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;
그러나 총 1GB 미만
SELECT pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size FROM pg_database
여전히 약 20GB를 보여줍니다. 많은 조언을 부탁드립니다.
pg_catalog
및 테이블을 제외합니다information_schema
. 따라서WHERE
절 에서 이러한 제한을 제거하여 그 중 하나인지 확인하십시오 . 정확한 PostgreSQL 버전 (SELECT version()
)과 "전체 데이터베이스를 진공 청소기로 청소"하기 위해 정확히 무엇을하고 있는지, 즉 정확한 명령을 표시하십시오. 가능하면VACUUM FULL VERBOSE;
(인수 없음)을 실행 하고 출력을 어딘가에 붙여 넣은 다음 여기에 연결하십시오.