根據作業系統的不同,使用檔案拷貝命令即可。
如:linux/unix下:
tar -cf backup.tar /usr/local/pgsql/data
cp windows下:
jar cvfm classes.jar mymanifest -c foo/ .
copy
命令等
(1)確保wal
歸檔開啟並且可以運轉。
(另外單獨講解歸檔操作)
(2)用客戶端工具,以資料庫超級使用者身份連線到資料庫,發出命令:
select pg_start_backup('label');//
命令格式
select pg_start_backup('e:\\work\\monitor3\\bin\\data_back-20070207');//
實際執行的命令
這裡的label
是任意dba
想使用的這次備份操作的唯一標識。
乙個好習慣是使用你想把備份轉儲檔案放置的目的地的全路徑。
pg_start_backup
方法使用將用
dba指定的備份的資訊,在資料目錄裡,建立乙個備份標籤檔案,叫做「
backup_label
」,寫入了如下資訊(
windows
版本):
start wal location: 0/3911e0 (file 000000010000000000000000)
checkpoint location: 0/3911e0
start time: 2007-02-07 13:30:56
中國標準時間
label: e:\work\monitor3\bin\data_back-20070207
(3)至於連線到集群中的哪個資料庫沒什麼關係。可以忽略函式返回的結果;
但是如果它報告錯誤,那麼在繼續之前處理它。
(4)執行備份,使用任何方便的檔案系統工具,比如
tar
或者cpio
。這些操作過程中既不需要關閉資料庫,也不希望關閉資料庫的操作。
(5)再次以資料庫超級使用者身份連線資料庫,然後發出命令:
select pg_stop_backup();
pg將生成乙個檔案,如「
000000010000000000000000.003911e0.backup
」,這是乙個備份的歷史檔案。
pg_stop_backup()
將保留本次生成的備份歷史檔案,然後把上次執行本方式備份產生的備份歷史檔案清理掉,然後發訊號告知歸檔程序(
pg_stop_backup -> cleanupbackuphistory -> xlogarchivecheckdone -> xlogarchivenotify -> sendpostmastersignal
),可以歸檔了。
(6)返回成功。
歸檔的一些準備工作:
設定「postgresql.conf
」檔案:
windows:
archive_command = 'copy "%p" e:\\work\\monitor3\\bin\\data_back\\%f'
linux:
archive_command = 'cp -i %p /mnt/server/archivedir/%f
歸檔程序會呼叫這命令把需要歸檔的檔案拷貝到指定的歸檔目錄
PostgreSQL的備份與還原
匯出 cmd,然後一直cd,到postgresql的bin下面,用其pg dump程式 pg dump h localhost u ivms864013 ivms864013 g mydb.bak 或pg dump h 10.64.62.181 u ivms864013 ivms864013 g m...
PostgreSQL物理備份與恢復
centos6.6 postgresql9.4 伺服器 192.168.3.201 資料庫伺服器 192.168.3.202 備份伺服器 注 需要開啟歸檔,物理備份 pgdata全目錄以及表空間目錄,利用物理備份與歸檔日誌進行資料庫還原。可以跨越小版本,但不能跨平台。192.168.3.201 首先...
PostgreSQL資料庫備份與恢復
參考了這篇文章 由於想要備份測試資料所以就進行了一下調查,以前成功過一次,但是由於時間久了,就忘記了,還是需要記錄一下。windows裡面,命令列進入postgresql的安裝目錄,執行pg dump h 10.u postgres testdb testdb.bak 會在當前安裝目錄生成乙個tes...