编辑脚本:内容如下所示,编辑完成保存为bat文件

@ECHO OFF

@setlocal enableextensions

@cd /d "%~dp0"

//数据库备份程序路径

SET PGPATH=C:\"Program Files"\PostgreSQL\12\bin\

//保存文件目录

SET SVPATH=D:\\

//需备份的数据库

SET PRJDB=test

SET PRJDBB=test1

//用户

SET DBUSR=postgres

FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN ('DATE /T') DO SET d=%%i-%%j-%%k

FOR /F "TOKENS=1,2,3 DELIMS=: " %%i IN ('TIME /T') DO SET t=%%i%%j%%k

echo 数据库备份中...

//备份文件名

SET DBDUMP=%PRJDB%_%d%_%t%.backup

@ECHO OFF

%PGPATH%pg_dump -h 192.168.2.174 -p 5433 -F c -U postgres -d %PRJDB% -f %SVPATH%%DBDUMP%

echo Backup Taken Complete %SVPATH%%DBDUMP%

注:使用pg_dump可进行postgresql全服务器数据库的备份

 

测试运行备份:讲bat文件拷贝至服务器上,设置如上所需的相应路径后,运行bat文件,完成测试备份

 windows下自动计划任务全备份postgresql数据库_服务器

计划任务设定:打开控制面板》管理工具》任务计划程序

 windows下自动计划任务全备份postgresql数据库_计划任务_02

创建计划任务,按照向导一步一步完成创建,计划每周备份一次,每周6,零点执行备份任务,完成设置。

 windows下自动计划任务全备份postgresql数据库_数据库备份_03

windows下自动计划任务全备份postgresql数据库_数据库_04

 

windows下自动计划任务全备份postgresql数据库_服务器_05

 

 windows下自动计划任务全备份postgresql数据库_数据库备份_06

第一周结果查看:成功完成所需的备份

 windows下自动计划任务全备份postgresql数据库_postgresql_07