2015-05-21 45 views
0

我用pg_dump來備份一個數據庫,結果sql文件小於2MB。 我查了原始數據庫的大小,它超過30 MB,我認爲出了問題,所以我執行sql來恢復其他地方的數據庫,結果證明備份實際上是OK的。當生成備份SQL文件時,大量的額外文本如'INSERT INTO ...'應使SQL文件大於原始數據。與原始數據庫大小相比,爲什麼SQL轉儲文件大小如此之小?

我在這裏錯過了什麼?

+3

指標不包括在轉儲,我會想象 – ErikEJ

+1

索引,元數據,能夠更新會導致舊版本留到他們真空... –

回答

2

這非常依賴於您的數據庫模式。當你做一些嚴肅的索引時,這些索引將佔據最多的空間。他們沒有備份。當然,您的主鍵列已經自動編入索引。

1

有幾種postgres備份格式。一種是純文本格式(文本文件中的CREATECOPY語句)。其他格式使用緊湊的二進制數據表示與可配置的壓縮。

檢查您的數據庫轉儲格式。二進制轉儲格式的轉儲大小很小是正常的。

您可以找到有關細節這裏所有轉儲格式:http://www.postgresql.org/docs/current/static/app-pgdump.html

相關問題