-- 一個隻會使用java的男人
一、如果是在同一個服務下複制一個資料庫,pgsql相當簡單,一條語句即可完成
CREATE DATABASE taobao_copy WITH TEMPLATE taobao;
但是需要沒有服務連接配接資料庫才能複制。
二、備份 - 非明文(以window環境為例)
同mysql一樣,pgsql也可以滿足資料和表的備份、還原
進入到pgsql按照目錄,找到bin目錄下的pg_dump.exe程式,執行
1、備份: pg_dump.exe -U postgres -h 192.168.5.21 -p 5432 -W -d taobao >"F://a.backup"
-U:資料庫使用者名,-h: 資料庫所在機器ip, -p:端口号, -W: 強制密碼提示, -d: 資料庫名
2、還原:這種方式的備份隻能使用以下方式還原。
psql -U postgres -h 127.0.0.1 -p 5432 taobao_copy<F://a.backup
三、備份-使用restore還原:
1、備份: pg_dump.exe -U postgres -h 192.168.5.21 -p 5432 -W -F c -f "F://b.backup" "taobao"
-U:資料庫使用者名,-h: 資料庫所在機器ip, -p:端口号, -W: 強制密碼提示, -d: 資料庫名
2、還原: 使用pg_restore
pg_restore.exe -U postgres -h 192.168.5.21 -p 5432 -W -d taobao_copy "F://b.backup"
四、以上方式打開檔案發現是copy類型,如果我們想備份成sql檔案呢?
1、pg_dump.exe -U postgres -h 192.168.5.21 -p 5432 -W -s -f "F://c.sql" taobao
-s:隻存表結構,不包括資料
2、備份資料,備份成insert語句
pg_dump.exe -U postgres -h 192.168.5.21 -p 5432 -W --inserts -a -f "F://b.sql" "lediaocha"
--inserts:使用insert語句 -a:隻備份資料,不備份表結構。