说明:在我的云服务器上,postgres是使用yum的方式安装的,不需要设置postgres账户的密码,本文介绍安装后如何手动设置postgres账户的密码;
postgres数据库安装,参考下面这篇文章:
设置登录方式
首次安装postgres数据库后,需要修改相关配置后才能远程连接,如下:
- pg_hba.conf文件 IPv4 新增一条连接,如下,注意最后的METHOD设置为
trust
,表示信任,不需要密码连接;
- postgresql.conf文件的
listen_addresses
设置为*
,表示允许所有地址连接,这个在windows安装是默认打开的,centos安装15版本默认是注释的,需要打开;
上面两个文件,均在/var/lib/pgsql/15/data/
路径下,如果你没有自定义设置的话。下面就可以在windows上使用命令行的方式连接了,当然你的windows上也需要安装postgres,可参考上面的文章安装。远程连接的CMD命令如下:
psql -h postgres数据库IP -p 端口号 -U 用户 -d 数据库名
如下:
修改密码
也可以使用Datagrip、Navicat数据库连接工具连接,连接后可以设置postgres账户名的密码,如下:
连接后,可查看初始化数据库后的数据库表,其中,postgres数据库中的pg_authid表是存登录账户信息的;
select * from pg_authid;
敲下面的命令,修改postgres账户的密码,设置为123456
alter user postgres with password '123456';
查询,可以看到密码字段已有值,是使用默认的加密方式生成的密文
select rolname, rolpassword from pg_authid where rolname = 'postgres';
完成了,现在把前面pg_hba.conf配置文件中的METHOD设置成默认的加密方式,如下:
重启数据库,使用CMD命令连接,如下:
总结
本文介绍了如何设置在Linux操作系统下postgresql数据库的账户密码,参考下面这篇文章:
在Linux里安装postgres数据,会自动创建一个postgres系统账户。如果只是想要修改连接postgres数据库的账户密码,操作系统的账户是不需要设置密码的,和它没有关系,这点切记,我就是因为这个搞不清楚,才摸索了一段时间的。