我安装了Postgresql 9.4数据库的Kubuntu 14.10桌面.
我通过执行sql更改了数据库中postgres用户的密码:
我通过执行sql更改了数据库中postgres用户的密码:
ALTER USER postgres PASSWORD 'password';
我可以通过psql -h localhost -U postgres -W连接到数据库服务器并提供该密码,但我也可以通过简单的psql -h localhost -U postgres连接而无需密码.
另一方面,如果我运行psql -h 127.0.0.1 -U postgres它会提示我输入之前设置的密码.
localhost和127.0.0.1主机及其登录方法有什么区别?它在哪里设置?我在pg_hba.conf文件中看不到与localhost相关的条目.
您看到的行为可能是由密码文件引起的.密码文件通常在Unix系统上命名为〜/ .pgpass,但可以通过PGPASSFILE环境变量给出不同的文件名.
我认为包含“localhost”行但不包含“127.0.0.1”行的密码文件将显示您正在看到的行为.我自己的〜/ .pgpass文件包含这一行.
localhost:*:*:postgres:password
这就是当我尝试像你一样连接时会发生什么.
$psql -h localhost -U postgres psql (9.3.5) SSL connection (cipher: DHE-RSA-AES256-SHA,bits: 256) Type "help" for help. sandBox=# \q $psql -h 127.0.0.1 -U postgres Password for user postgres:
将127.0.0.1:*:*:postgres:password行添加到〜/ .pgpass允许我使用127.0.0.1登录并且没有密码.
$psql -h 127.0.0.1 -U postgres psql (9.3.5) SSL connection (cipher: DHE-RSA-AES256-SHA,bits: 256) Type "help" for help. sandBox=#
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。