postgresql - 如何从 .Bat 文件中删除密码提示?
问题描述
我正在为我的 PostgreSQL 数据库创建每日备份计划程序,为此我安装了 Pg-agent 并创建了作业计划程序。我创建了一个 .bat 文件并在其中编写了运行良好的脚本。当我从命令提示符执行 .bat bat 文件时,我想要什么,它要求输入密码,所以我想删除它并执行 .bat 文件而不询问密码。
@echo Backup database %PG_PATH%%PG_FILENAME%
@echo off
SET PG_BIN="C:\Program Files\PostgreSQL\9.5\bin\pg_dump.exe"
SET PG_HOST=localhost
SET PG_PORT=5432
SET PG_DATABASE=postgres
SET PG_USER=postgres
SET PG_PASSWORD=postgres
SET PG_PATH=C:\OEM
SET FECHAYHORA=%date:/=%-%time:-0,8%
SET FECHAYHORA=%FECHAYHORA::=-%
SET FECHAYHORA=%FECHAYHORA: =0%
SET PG_FILENAME=zerodefect_%time:~0,2%%time:~3,2%%time:~6,2%_%date:~-10,2%%date:~-7,2%%date:~-4,4%.sql
%PG_BIN% -h %PG_HOST% -p %PG_PORT% -U %PG_USER% %PG_DATABASE% > %PG_FILENAME%
@echo Backup Taken Complete %PG_PATH%%PG_FILENAME%
解决方案
如文档PGPASSWORD
中所述,应命名变量(不带下划线)
附带说明一下,您可能希望setlocal
在脚本的开头和endlocal
结尾添加,因此包含密码的变量将在最后从内存中删除。
推荐阅读
- windows - 如何使用 PoweShell 设置快捷方式的高级属性,如字体大小(如果是控制台应用程序)?
- html - 当我在下拉列表中选择第二个选项时。我想提示第二个标签内容,
- python - 使用 if 语句过滤列以计算新的单元格值。值错误:
- elasticsearch - 启动 Logstash,将其连接到 kafka 生产者
- python - 如何创建由骰子损失和焦点损失组成的混合损失 [Python]
- python - 为什么python说这个字符串是Type None
- css - 为什么 Prime React 下拉菜单无法正常工作?
- javascript - 如何从另一个 HTML 页面获取元素
- java - 更改方向时Android应用程序崩溃
- mysql - 如何解决此错误?我必须将数据添加到现有数据中