1.安装
# 更新APT源
sudo apt upgrade
sudo apt update
# 安装postgresql及postgresql-contrib
# contrib包含一些不属于 PostgreSQL 核心包的实用工具和功能。
# 在大多数情况下,最好将contrib包与PostgreSQL核心一起安装。
sudo apt install postgresql
apt install postgresql-contrib
# 检查运行状态
# 回显中服务处于active状态即可
service postgresql status
# 检查版本输出
# 有版本号打印即可
sudo -u postgres psql -c "SELECT version();"
2.登陆
安装后,会同步建立一个特殊的数据库用户postgres
,可以使用该账号进行登陆:
sudo su postgres psql
# psql (12.9 (Ubuntu 12.9-0ubuntu0.20.04.1))
# Type "help" for help.
#
# postgres=#
使用\q
退出。
另外,也可以使用sudo -u postgres psql -U postgers -h localhost
进行登陆。
3.修改密码
3.1.修改linux系统postgres用户的密码
# 删除密码
sudo passwd -d postgres
# 设置密码
sudo -u postgres passwd
```shell
# 删除密码
sudo passwd -d postgres
# 设置密码
sudo -u postgres passwd
3.2. 修改数据库默认用户postgres的密码
postgres用户默认密码随机,使用时需要修改密码,命令如下:
# 登陆数据库
sudo su postgres psql
# 修改密码
ALTER USER postgres WITH PASSWORD 'password';
```shell
# 登陆数据库
sudo su postgres psql
# 修改密码
ALTER USER postgres WITH PASSWORD 'password';
4.允许远程登陆
PostgreSQL 支持多种身份认证方式。最常用的方法如下:
Trust
: 只要满足pg_hba.conf
定义的条件,一个角色就可以不使用密码就能连接服务器Password
: 通过密码,一个角色可以连接服务器。密码可以被存储为cram-sha-256
,md5
, 和password(明文)
。Ident
: 仅仅支持 TCP/IP 连接。它通常通过一个可选的用户名映射表,获取客户端操作系统用户名。Peer
: 和Ident
一样,仅仅支持本地连接。
PostgreSQL 客户端身份验证通常被定义在pg_hba.conf
文件中。默认情况下,对于本地连接,PostgreSQL 被设置成身份认证防范 peer
。
4.1.配置允许远程连接
sudo vim /etc/postgresql/16/main/postgresql.conf
修改CONNECTIONS AND AUTHENTICATION
节中listen\_addresses
字段:
listen_addresses = '*'
修改后保存文件。
4.2.修改认证方式
# 允许密码身份验证
sudo sed -i '/^host/s/ident/md5/' /etc/postgresql/16/main/pg_hba.conf
# 将识别方法从对等更改为信任:
sudo sed -i '/^local/s/peer/trust/' /etc/postgresql/16/main/pg_hba.conf
编辑/etc/postgresql/16/main/pg_hba.conf
:
# 修改IPv4及IPv6段落,追加0.0.0.0
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
host all all 0.0.0.0/0 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
host all all 0.0.0.0/0 md5
修改后保存文件,重启服务:
sudo systemctl restart postgresql
Ref: