@echo off
set PGPASSWORD=123456
set BACKUPDIR="C:/Users/test/Desktop/test/back/"
set PGHOST=127.0.0.1
set PGUSER=postgres
set PGBIN="D:/PostgreSQL/12/bin"
set FILELOG=log.txt
set FILESQL=C:\Users\test\Desktop\test\test.sql
if not exist %BACKUPDIR% (mkdir %BACKUPDIR%)
(
echo Backup start %date% %time%
for /f %%a IN (dbs.lst) DO (
echo update %%a
%PGBIN%psql -h %PGHOST% -d %%a -U %PGUSER% -f %FILESQL%
)
)>> %BACKUPDIR%%FILELOG% 2>&1
psql提供了一些可选参数,可以通过psql --help命令来查看所安装版本支持的参数。
- -h, 连接数据库服务器的主机IP或套接字目录(默认为“local socket”)
- -p, 连接数据库服务器的端口号(默认为“5432”)
- -d, 默认连接的数据库
- -U, 要连接数据库服务器的用户名
- -w, 不提示密码。如果服务器需要密码验证而密码不可通过其他方式 (比如.pgpass文件)获得,则连接尝试将失败
- -W, 强制使用密码
- -f, 执行指定文件中的命令,然后退出