阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux上PostgreSQL的一些认识

198次阅读
没有评论

共计 1247 个字符,预计需要花费 4 分钟才能阅读完成。

刚开始接触 PostgreSQL,安装后就有一个默认用户 postgres,而且在启动 PostgreSQL 后只能通过切换到 Linux 的 postgres 用户才能登录数据库进行操作,和 MySQL 的登录认证居然不一样。查了好多资料才知道,原来有个 pg_hba.conf 的配置文件作登录限制。它的语法规则是这样的:

local database user auth-method [auth-options]

host database user address auth-method [auth-options]

hostssl database user address auth-method [auth-options]

hostnossl database user address auth-method [auth-options]

host database user IP-address IP-mask auth-method [auth-options]

hostssl database user IP-address IP-mask auth-method [auth-options]

hostnossl database user IP-address IP-mask auth-method [auth-options]

第一列是连接的方式,local 是通过本地的 unix socket 连接,host 是通过 IP 地址连接。第二列是目标数据库,第三列是用户。最后一列是认证方式(关键点),总共支持 11 种认证方式:

1. Trust Authentication

2. Password Authentication

3. GSSAPI Authentication

4. SSPI Authentication

5. Ident Authentication

6. Peer Authentication

7. LDAP Authentication

8. RADIUS Authentication

9. Certificate Authentication

10. PAM Authentication

11. BSD Authentication

其中最常见的就是 peer,ident,password。

peer 方式中,client 必须和 PostgreSQL 在同一台机器上,并且需要当前系统用户和要登陆到 PostgreSQL 的用户名相同,就可以登陆。

ident 与 peer 类似,不过 peer 只能在 PostgreSQL 本地使用,ident 则可以跨主机使用。

其实我们最常用的方式是通过密码远程登陆:

password 认证分为三种方式:scram-sha-256、md5、password。

这三种方式都用密码认证,区别是密码在 PostgreSQL 上存储的形式和登陆时密码的传输形式。

如:# IPv4 local connections: host all all 127.0.0.1/32 md5

注意:修改了 pg_hba.conf 之后,需要重启 PostgreSQL,才会应用新配置。

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1247字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中