PSQL没有在PowerShell中提示输入密码

时间:2017-04-26 16:09:53

标签: postgresql powershell authentication password-protection

PowerShell中的这个PSQL语句:

.\psql --% -h localhost -p 5000 -U postgres -d mydatabase -c `
(SELECT * ...... do something);

工作 - 并且不提示输入密码。

.\psql.exe --help

说明没有密码需要-w开关。

为什么这个命令在没有密码的情况下工作?数据库有密码。

该命令在没有密码验证的PSQL交互式shell中不起作用,仅在PowerShell中。

1 个答案:

答案 0 :(得分:3)

“无密码”不需要

-w从我的man psql

重新读取它所说的内容
  

-w --no-password永远不会发出密码提示。 如果服务器需要密码验证,并且其他方式(例如.pgpass文件)无法使用密码,则连接尝试将失败。此选项在批处理作业和没有用户的脚本中非常有用。输入密码。请注意,此选项将保持为整个会话设置,因此它会影响元命令\ connect的使用以及初始连接尝试。

-w适用于运行psql脚本时,无法输入密码,例如在无头会话中。

  

为什么这个命令在没有密码的情况下工作?数据库有密码。

即使数据库具有密码,如果您的pg_hba.conf文件信任,也不需要密码。要进一步调试,我们需要查看您的pg_hba.conf

相关问题