標籤:
PostgreSQL資料的匯出匯入
匯出PostgreSQL資料庫中的資料:
$ pg_dump -U postgres -f mydatabase.sql mydatabase
匯入資料時首先建立資料庫再用psql匯入:
$ createdb newdatabase
$ psql -d newdatabase -U postgres -f mydatabase.sql
定期儲存資料,以防萬一。下載定期儲存。伺服器如果整個毀掉?映像不可恢複?
至少資料還在。
什麼backup都比不上這個backup plan。
這裡提供其他的方法:
引用來自:http://jingyan.baidu.com/article/bad08e1e84fe8109c951217b.html
匯入整個資料庫
psql -U postgres(使用者名稱) 資料庫名(預設時同使用者名稱) < /data/dum.sql
-
匯出整個資料庫
pg_dump -h localhost -U postgres(使用者名稱) 資料庫名(預設時同使用者名稱) >/data/dum.sql
- 4
匯出某個表
pg_dump -h localhost -U postgres(使用者名稱) 資料庫名(預設時同使用者名稱) -t table(表名) >/data/dum.sql
- 5
壓縮方法
一般用dump匯出資料會比較大,推薦使用xz壓縮
壓縮方法 xz dum.sql 會產生 dum.sql.xz 的檔案
- 6
xz壓縮資料倒數資料庫方法
xzcat /data/dum.sql.xz | psql -h localhost -U postgres(使用者名稱) 資料庫名(預設時同使用者名稱)
這裡還有邊匯出邊壓縮的方式
引用: http://blog.163.com/dazuiba_008/blog/static/3633498120139313376223/
1.建立管道:#mknod dumpipe p 2.匯出指定表test資料postgres=# select count(*) from test; count ------- 601(1 row)#pg_dump -h 127.0.0.1 -U postgres -a -t test -f dumpipe & gzip<dumpipe>test.dmp.gz 3.刪除資料postgres=# truncate table test;TRUNCATE TABLEpostgres=# select count(*) from test; count ------- 0(1 row) 4.匯入資料,刪除管道#psql -f dumpipe & gunzip <test.dmp.gz >dumpipepostgres=# select count(*) from test; count ------- 601(1 row)#rm -f dumpipe
PostgreSQL資料的匯出匯入 save your data!