pg 远程备份 pgdump 免密

备份脚本

@echo off
REM 获取当前日期和时间,并格式化为 YYYYMMDD_HHMMSS
set hour=%time:~0,2%
REM 处理小时是个位数的情况(前面带空格的问题),替换空格为0
if "%hour:~0,1%"==" " set hour=0%hour:~1,1%

set backupName=%date:~0,4%%date:~5,2%%date:~8,2%_%hour%%time:~3,2%%time:~6,2%.sql
echo %backupName%

"C:\Program Files\PostgreSQL\postgresql-17.5-3-windows-x64-binaries\pgsql\bin\pg_dump.exe" -h 192.168.1.1 -p 5432 -U postgres harper > %~dp0%backupName%

pause

免密配置

//在以下任意一个路径中创建文件
%APPDATA%\postgresql\pgpass.conf
%APPDATA%\postgresql\pgpass-global.conf
%USERPROFILE%\AppData\Roaming\postgresql\pgpass.conf
%USERPROFILE%\AppData\Roaming\postgresql\pgpass-global.conf

保存密码信息
字段说明:
192.168.1.1 : ip
5432 : 端口
postgres : 账号
123456 : 密码

192.168.1.1:5432:*:postgres:123456

备注

● 定时备份可使用系统的定时计划设置
● linux环境下免密配置的路径为: ~/.pgpass
● linux环境下需要注意文件权限(chmod)

posted @ 2025-08-28 09:35  Hey,Coder!  阅读(13)  评论(0)    收藏  举报