我正在尝试从我的windows pc使用putty.i连接到远程ubuntu 12.04服务器上的Postgresql 9.1数据库。我使用密码创建了用户,当我运行命令时
psql opentaps opentaps -d opentaps (opentaps是我为数据库opentaps创建的用户)我得到以下信息。psql: FATAL:用户" opentaps“密码验证失败我确实尝试了psql -U opentaps -d opentaps -h localhost,但在我提供密码后仍然出现相同的消息。我对opentaps用户的密码是正确的,即使当我尝试psql -U postgres -d postgres时,我也得到同样的失败消息。
我在pg_hba.conf中做了一些更改,它看起来像这样
https://docs.google.com/document/d/13ymGYj9e7YPFiaffwixLzsWJygp_OfBmgBi4Axgrg5A/edit?usp=sharing
此外,在postgresql.conf中,我通过不注释listen_addresses = '*‘进行了更改。我知道这里遗漏了一些东西,.need请帮助我了解我还需要更改哪些内容才能连接到服务器。
谢谢你的帮忙
发布于 2014-09-17 00:31:43
解决这个问题的一个办法是编辑pg_hba.conf
sudo vi /etc/postgresql/9.3/main/pg_hba.conf暂时地
# Database administrative login by Unix domain socket
local all postgres trust那就去吧
sudo -u postgres psql template1
ALTER USER postgres with encrypted password 'your_password';然后返回并将pg_hba.conf设置回
# Database administrative login by Unix domain socket
local all postgres md5发布于 2013-11-05 06:38:04
从命令行启动psql时,请确保您以opentaps用户身份登录。
您还应使用以下格式使用正确的信息填充.pgpass文件:
hostname:port:database:username:password如果尚未创建.pgpass文件,则应创建一个。请参阅postgresql docs参考
发布于 2018-07-11 20:53:05
有点晚了,但它是这样的:
首先,您的.pgpass文件应该在Ubuntu用户的主目录中。如果没有文件,可以使用nano ~/.pgpass创建
其次,您的文件应该包含这种格式的hostname:port:database:username:password。不要忘了chmod 0600 ~/.pgpass,这样你就可以禁止任何访问世界或组的权限,因为它说的是here。
现在,命令应该是这样的:psql -h localhost -w -U opentaps -d opentaps -c "select * from mytable"。其中:
-h是您的host。
-w将使用您的.pgpass文件,以防您不想键入密码。或者使用-W强制psql提示输入密码。
-U是你的postgres用户名。
-d是您的数据库名称。
而-c则是执行string sql命令。
https://stackoverflow.com/questions/19778510
复制相似问题