0
oid 유형 열에 의해 참조되는 Postgres 데이터베이스에 BLOB가 있으면 크기가 pg_database_size로 계산됩니까?pg_database_size는 pg_largeobject에 BLOB를 포함합니까?
oid 유형 열에 의해 참조되는 Postgres 데이터베이스에 BLOB가 있으면 크기가 pg_database_size로 계산됩니까?pg_database_size는 pg_largeobject에 BLOB를 포함합니까?
예, 시스템 카탈로그의 pg_largeobject
에 있습니다. 이 카탈로그는 DB간에 공유되지 않으므로 DB에 포함됩니다.
가장 쉬운 방법은 lo_import
파일을 보았을 것입니다. dd if=/dev/zero of=bigzero count=10 bs=1M
로 만든 제로의 경우 약 10MB의 파일을
regress=> SELECT pg_database_size(current_database());
pg_database_size
------------------
730961016
(1 row)
regress=> \lo_import bigzero
lo_import 383810
regress=> SELECT pg_database_size(current_database());
pg_database_size
------------------
731518072
(1 row)
당신은 DB를 알 수가 참으로 성장했다. 그것은 500kb에 의해서만 성장했습니다. 그 이유는 PostgreSQL이 이런 종류의 데이터를 압축 할 것이고, 0의 긴 실행은 상당히 잘 압축되기 때문입니다.
데모가있는 매우 빠른 답변 주셔서 감사합니다! –