系統城裝機大師 - 唯一官網:www.farandoo.com!

當前位置:首頁 > 數據庫 > PostgreSQL > 詳細頁面

Windows 2008R2 定時備份PostgreSQL 11.6

時間:2019-11-30來源:系統城作者:電腦系統城

PostgreSQL 自動備份,并刪除10天前的備份文件的windows腳本.

第一步,創建腳本,命名back.bat文件,可直接點擊執行或者CMD執行此批處理命令。

@ECHO OFF
@setlocal enableextensions
@cd /d "%~dp0"
 
set PGPASSWORD=password
SET PGPATH=D:\postgresql\binSET SVPATH=d:\zoobackupSET PRJDB=gzzoo
SET DBUSR=postgres
FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN (‘DATE /T‘) DO SET d=%%i-%%j-%%k
 
SET DBDUMP=%PRJDB%_%d%.bak
@ECHO OFF
%PGPATH%pg_dump -h localhost -U postgres %PRJDB% > %SVPATH%%DBDUMP%

echo Backup Taken Complete %SVPATH%%DBDUMP%

forfiles /p %SVPATH% /d -5 /c "cmd /c echo deleting @file ... && del /f @path"

 

其中:PGPASSWORD密碼,PGPATH 數據庫路徑,SVPATH備份文件存放位置,PRJDB數據庫名稱,DBUSR用戶名

 

第二步設置定時任務 參考

https://blog.csdn.net/rosejeck/article/details/89026006

 

Linux 下使用crontab 定時任務。也可配置 pg_cron、pgAgent等定時任務插件。

 

第三步 恢復

cmd 然后進入postgresql的bin目錄

執行

psql -h localhost -U username -d database < d:/data.bak

 

PG_DUMP和PG_RESTORE

    PostgreSql的備份和還原分別是通過pg_dump和pg_restore執行的。PostgreSql的備份有三種形式,分別是自定義、tar格式、無格式三種類型。自定義和tar格式在備份時形成的是.backup文件,而無格式在備份時形成的是文本文件。在還原時,格式只能是自定義或tar格式,也就是說pg_dump使用無格式方式備份的文件,是不能用gp_restore還原的;pg_restore只能還原backup文件。

 

  那么文本文件又是怎么還原呢?只能通過命令來執行。cmd進入執行框,用cd命令將路徑改到數據庫安裝路徑的bin文件夾下,輸入以下命令:

psql -h localhost -U username -d mydb <  mydb.bak

  其中username是數據庫的用戶名,mydb是要還原的數據庫名稱,mydb.bak是自己備份的文本文件,在執行命令時要加入路徑,比如:

psql -h localhost -U postgres-d postgis <  c:\User\Desktop\postgis

 

  數據的導出:

$ pg_dump -U postgres(用戶名)  (-t 表名)  數據庫名(缺省時同用戶名)  > 路徑/文件名.sql

 

postgres@debian:~$ pg_dump -U postgres -t system_calls wangye > ./test.sql

postgres@debian:~$ ls

9.1  test.sql

 數據的導入:

導入數據時首先創建數據庫再用psql導入:

$ createdb newdatabase
$ psql -d newdatabase -U postgres -f mydatabase.sql   // sql 文件在當前路徑下

$ psql -d databaename(數據庫名) -U username(用戶名) -f < 路徑/文件名.sql  // sql 文件不在當前路徑下
分享到:

相關信息

系統教程欄目

欄目熱門教程

人氣教程排行

站長推薦

熱門系統下載

jlzzjlzz亚洲乱熟在线播放