加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – 可以通过localhost连接到postgres而无需密码,但不

发布时间:2020-12-13 16:18:41 所属栏目:百科 来源:网络整理
导读:我安装了PostgreSQL 9.4数据库的Kubuntu 14.10桌面. 我通过执行SQL更改了数据库中postgres用户的密码: ALTER USER postgres PASSWORD 'password'; 我可以通过psql -h localhost -U postgres -W连接到数据库服务器并提供该密码,但我也可以通过简单的psql -h
我安装了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相关的条目.

您看到的行为可能是由密码文件引起的.密码文件通常在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=# 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读