基于我之前的问题。
我的电脑上的pgpass.conf
似乎有问题,在尝试使用pg_dump
备份数据库时,它似乎没有提供所需的密码。我发现我的处境很奇怪。但是,我不知道如何解决这个问题。
在我的电脑上,没有要保存的文件夹,我试图安装Postgres,但似乎显示了错误消息
运行安装后步骤时出现问题。安装可能无法正确完成。数据库群集初始化失败。
但是,我的电脑上已经有一个postgresql
文件夹。
我试图通过使用根pgpass.conf
中的pgAdmin
来找到pgpass.conf
。
结果看起来它甚至不存在于我的PC->,所以这就是为什么我试图在文件夹[cc]中创建一个新的文件dir /s | find /i "pgpass.conf"
而不是c:\
文件夹。
我也尝试过根据How to fix Automated Backup script for postgres [Window]?设置环境变量。控制台上的错误显示
“PGPASSWORD”不能识别为内部或外部命令
我试图添加/编辑这样的脚本
@echo off
echo 192.168.1.161:5432:_wolfcom:postgres:1234>"%APPDATA%\pgAdmin\pgpass.conf"
set "root=C:\Program Files (x86)\pgAdmin 4\v3\runtime\"
cd /d "%root%"
PGPASSWORD=R0m3o^%%Ech0-5910^& pg_dumpall -h 192.168.1.161 -w -U postgres _wolfcom > "D:\Backup\DatabaseBackUp\32312.sql"
pause
有人能想出如何让
pgpass.conf
正常工作吗?这是批处理文件的当前脚本
@echo off
echo 192.168.1.161:5432:_wolfcom:postgres:R0m3o^%%Ech0-5910^&>"%APPDATA%\pgAdmin\pgpass.conf"
set "root=C:\Program Files (x86)\pgAdmin 4\v3\runtime\"
cd /d "%root%"
pg_dump.exe -h 192.168.1.161 -p 5432 -U postgres -F c -b -v -f "D:\Backup\DatabaseBackUp\SQL\123456.backup" _wolfcom
pause
这是我的剧本
@echo off
echo 192.168.1.161:5432:_wolfcom:postgres:R0m3o^%%Ech0-5910^&>"%APPDATA%\postgresql\pgpass.conf"
set "root=C:\Program Files (x86)\pgAdmin 4\v3\runtime\"
cd /d "%root%"
pg_dump.exe -h 192.168.1.161 -p 5432 -U postgres -F c -b -v -f "D:\Backup\DatabaseBackUp\SQL\123456.backup" _wolfcom
pause
最佳答案
就像the documentation说:
在Microsoft Windows上,文件名为%APPDATA%\postgresql\pgpass.conf
(其中%APPDATA%
指用户配置文件中的应用程序数据子目录)。
您不必搜索它,它必须正好位于这个位置(除非您设置了PGPASSFILE
环境变量)。如果它不存在,创建它。
另一种方法(也许更简单)是使用pgAdmin并选中使其为您保存密码的复选框。自动创建密码文件的。