【发布时间】:2019-01-08 00:40:38
【问题描述】:
我想使用 PostGreSQL pg_dump 命令进行备份,命令行如下:
"<c:\Program Files\PostgreSQL\9.6\bin\pg_dump>" -h localhost -p 5432 -d test_backup_bat -U user -f D:\destination_backup\test.backup
但我需要先将PGPASSWORD设置为环境变量才能执行备份命令
PGPASSWORD=mypassword
我怎样才能在 Windows CLI 中只使用一个命令行?
【问题讨论】:
-
1.
cmd /V /C set "PGPASSWORD=5432" ^& pg_dump -h localhost -p !PGPASSWORD! -d test_backup_bat -U user -f "D:\destination_backup\test.backup",或 2.set "PGPASSWORD=5432" & call pg_dump -h localhost -p %^PGPASSWORD% -d test_backup_bat -U user -f "D:\destination_backup\test.backup" -
@aschipfl - 这是否需要提前声明
SETLOCAL ENABLEDELAYEDEXPANSION? -
不,这就是
/V(1.) 或call(2.) 的用途。无论如何,我想我将5432误解为您命令行中的密码,这似乎是错误的(对不起,我不知道pg_dump)...
标签: windows postgresql cmd environment-variables command-line-interface