Postgresql
閱讀 Postgres 文件後在 AWS 上進行 Postgres 備份查詢
在前往我的 EC2 實例上創建備份策略之前,我正在閱讀 postgresql 文件的備份部分。
所以有兩種方法可以做到。
- 使用創建轉儲
pg_dump
。- 存檔的文件級備份
WAL
。我將使用快照,所以我的案例屬於這一類。現在的問題是我需要在進行備份之前凍結我的文件系統嗎?Postgresql 文件建議 WAL 恢復不會受到不一致快照的影響。為了安全起見,凍結是否有意義?
我應該通過以上兩種方式進行備份嗎?
我應該在什麼時間段之後刪除舊的 WAL 日誌?
文件還提到 WAL 日誌和數據應該在同一個文件系統上,以使備份保持一致。在這種情況下,我正在考慮將 WAL 日誌與 EBS 快照分開備份,並將其保存在 S3 和亞馬遜之外的一些外部位置。對這個策略的想法?
如果我遺漏了什麼,請提及。
EBS 快照是原子的,它們是一個時間點。這意味著對於 PostgreSQL,只要包括 WAL 在內的所有數據目錄和所有表空間都在同一個 EBS 卷中,從快照開始就相當於在不干淨的關閉(崩潰)之後開始,而 PostgreSQL 旨在每次都可靠地做到這一點.
如果所有內容都在同一個 EBS 卷中,則無需停止卷的 I/O 即可拍攝 EBS 快照。
如果您正在使用文件級副本,您也不需要停止 I/O,但您
pg_start_backup
必須擷取所有WAL 文件,直到. 請參閱手冊。pg_stop_backup``pg_stop_backup
至於 S3 儲存等,請查看 barman;它可以為您自動執行大部分操作,並支持可用於將備份放入 S3 的掛鉤腳本。