windows postgresql定时备份 无需手动输入密码
PostgreSQL 自动备份,并删除10天前的备份文件的windows脚本.
第一步,创建脚本,命名back.bat文件
@ECHO OFF @setlocal enableextensions @cd /d "%~dp0" set PGPASSWORD=password SET PGPATH=D:\postgresql\bin\ SET SVPATH=d:\zoobackup\ SET 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://www.cnblogs.com/franknihao/p/7120851.html
第二步 恢复
cmd 然后进入postgresql的bin目录
执行
psql -h localhost -U username -d database < d:/data.bak