2017-09-25 115 views
0

我是postgres的新手。我已經在終端pg_dump創建並導入pgsql數據庫

pg_dump -U USERNAME DBNAME > dbexport.pgsql 

現在出口的大型,複雜的數據庫使用下面的命令,我轉這.pgsql文件到另一臺計算機,什麼是正確的命令來自動創建和恢復完全相同的數據庫如出口?任何建議,將不勝感激

+0

'PSQL -f dbexport.pgsql' [如記錄在手冊中(https://www.postgresql.org/docs/current/static/backup-dump.html#BACKUP-DUMP-RESTORE ) –

回答

0

你轉儲數據庫的方式,有關數據庫本身的信息不包括在轉儲(這是一個普通的SQL文件)。

您可以使用-C選項包括CREATE DATABASE在轉儲(dump是與psql恢復),或使用自定義格式:

pg_dump -F c -U postgres DBNAME -f dbexport.pgsql 

可以與pg_restore恢復這樣:

pg_restore -C -d postgres -U postgres dbexport.pgsql 
+0

爲什麼'pg_dump -U USER名稱DBNAME> dbexport.pgsql'產生一個400 MB文件,而'pg_dump -F c -U postgres DBNAME -f dbexport.pgsql'產生一個70 MB文件? –

+0

由於自定義格式是壓縮的。它的優點之一。 –

相關問題