Windows下Postgres数据库自动备份
Windows下Postgres数据库自动备份
1、首先新建一个bat文件,用来执行数据库备份命令。
内容如下:(路径、IP、文件名等按需指定) www.zzzyk.com
[plain]
@ECHO OFF
@set DirName=%date:~0,7%
@set FileName=%date:~0,10%_<span style="font-family: Arial, Helvetica, sans-serif; color: rgb(255, 0, 0);">DB_NAME</span><span style="font-family: Arial, Helvetica, sans-serif;">.backup </span>
@if %date:~8,2% == 01 (md E:\DBbackup\"%DirName%")
@if not exist E:\DBbackup\"%DirName%" (md E:\DBbackup\"%DirName%")
@if not exist %DirName% (md %DirName%)
"D:\PostgreSQL\9.1\bin\pg_dump.exe" -i -h <span style="color:#ff0000;">xxx.xxx.xxx.xxx</span> -p 5432 -U postgres -Ft -f E:\DBbackup\%FileName% <span style="color:#ff0000;">DB_NAME</span>
@ECHO ON
www.zzzyk.com
2、执行上边的bat时会要求输入数据库密码,为解决该问题,
需创建postgres密码文件“pgpass.conf”,
内容为“xxx.xxx.xxx.xxx:5432:DB_NAME:postgres:PASSWORD”
放在“D:\PostgreSQL\9.1\data”路径下,
并新建环境变量【PGPASSFILE】值为“D:\PostgreSQL\9.1\data\pgpass.conf”,这样运行时就不需要输入密码了。
3、最后把bat放到任务计划中,每天执行即可。