Postgresql系統備份與恢復(補充)

2021-07-28 11:11:13 字數 1732 閱讀 8322

根據作業系統的不同,使用檔案拷貝命令即可。

如: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...