Windows PSQL命令行:有没有办法允许无密码login?

我的目标是能够发出一个命令,而不必提示input密码。 有没有办法从Windows命令行实现这一点? 在Linux中,我觉得我可以将密码发送到标准或什么东西,但我不知道我是否可以做到这一点的Windows。

谢谢!

Solutions Collecting From Web of "Windows PSQL命令行:有没有办法允许无密码login?"

有两种方法:

  • 设置环境变量PGPASSWORD,例如set PGPASSWORD=yoursecretpassword
  • 按照文档中的描述使用密码文件%APPDATA%\postgresql\pgpass.conf

在doc格式中指定的密码文件(我的位置是C:\ Users \ Grzesiek \ AppData \ Roaming \ postgresql \ pgpass.conf)中使用。 例如,要将数据库postgres连接到本地5432服务器上的角色postgres,请添加:

 localhost:5432:postgres:postgres:12345 

我检查了这一点,它运作良好(对我来说),但不要使用127.0.0.1)。

另一个方便的选择(特别是如果您的PG服务器在您自己的客户端机器上运行,并且这对您没有任何安全问题)是允许在服务器中无需密码登录(“信任”认证模式)。

例如, pg_hba.conf这一行(在您的DATA目录中,一个典型的位置: C:\Program Files\PostgreSQL\9.0\data\ )授予无需密码从本地计算机访问。

 host all all 127.0.0.1/32 trust 

然后,连接

  psql.exe -h 127.0.0.1 -U postgres -w [YOUR_DB_NAME] 

脚步:

第一个ENVIroment Var PGPASSWORD

C:\ Windows \ system32> set PGPASSWORD = clave

之前

psql -d basededatos -U usuario

准备,

我知道这是一个古老的问题,但对于像我这样的人来说,很难找到解决方案。 坚持这个.bat文件,它会工作(至少对我来说)。 将director改为postres目录,将环境变量PHPASSWORD执行copy命令设置为csv文件,然后清除环境变量,然后返回根目录。

 cd C:\Program Files\PostgreSQL\9.5\bin\ set PGPASSWORD=yourpassword psql -d databasename -U yourusername -w -c "\COPY (select * from yourtable) TO 'c:/Users/yourdirectory/yourcsvfilename.csv' DELIMITER '|' CSV HEADER;" set PGPASSWORD= cd c:\