Stories

Detail Return Return

PostgreSQL數據備份方式 - Stories Detail

1、數據目錄文件備份

此方式最為簡單直接,備份之前需要先停止數據庫,然後備份整個data數據目錄,恢復數據庫時候直接恢復文件數據即可。

這種方式因為是備份整個PG庫,因此非常適合於數據庫遷移,需要保證前後安裝的pg庫版本一致。

2、SQL轉儲方式備份

本質上就是使用PG庫提供的pg_dump和pg_dumpall命令進行數據庫備份,可以通過pgAdmin、Navicat等界面工具或者直接在命令窗口中輸入命令的方式進行備份。

注意pg_dump只是備份某個數據庫數據,不包括角色、表空間等其他信息;

如果使用命令備份,命令如下:

pg_dump -U 用户名 -h 主機名 -p 端口號 數據庫名 > 備份文件名.sql

-U:指定連接數據庫的用户名。

-h:指定數據庫服務器的主機名(默認為 localhost)。

-p:指定數據庫服務器的端口號(默認為 5432)。

數據庫名:要備份的數據庫的名稱。

--schema-only:僅備份表結構(不包含數據)。

--data-only:僅備份數據(不包含表結構)。

-t <表名>:備份特定表。

pg_dumpall -U 用户名 -h 主機名 -p 端口號  > 備份文件名.sql

-g:僅備份全局對象(角色、表空間等)。

-c:在備份中包含刪除數據庫的命令(用於恢復時清理舊數據)。

-v:啓用詳細模式(顯示備份過程)。

備份文件名.sql:備份文件的名稱和路徑(默認為當前目錄下的文件名)。

如果使用pgAdmin界面備份,步驟如下:

image

打開pgAdmin界面,選擇需要備份的Server(如果沒有可以通過下面界面添加),右鍵選擇BackUp…

image

image

選擇備份的路徑以及格式信息,確認無誤後點擊【Backup】按鈕執行備份,在右下角會顯示備份信息,等待備份完成即可。

imageimage

3、物理熱備份與持續歸檔

結合基礎備份(Base Backup,使用通過pg_basebackup等工具) 和 WAL 文件歸檔(WAL Archiving)實現。



Add a new Comments

Some HTML is okay.