【发布时间】:2014-11-18 23:13:24
【问题描述】:
我有安装了 PostgreSQL 9.4 数据库的 Kubuntu 14.10 桌面。
我已经通过执行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 相关的条目。
【问题讨论】:
-
你有 .pgpass 文件吗?
-
是的。当我用谷歌搜索它时,我没有找到关于这个文件的任何信息。它实际上回答了我的问题。正如我所看到的,当我在那里输入连接详细信息时,pgadmin3 创建了这个文件(我很好奇 pgadmin 将密码存储在哪里……虽然没有寻找它)。如果您将此作为正确答案发布,我会认为它是正确的。
-
另一个区别是
localhost在某些系统上解析为::1,或者解析为另一个 IPv6 等效地址,或者解析为多个地址。其中任何一个都意味着127.0.0.1将与pg_hba.conf不匹配。
标签: postgresql ubuntu