Postgresql 16
PostgreSQL 是一个著名的开源数据库,具有良好的可扩展性和易用性。在 Alpine v3.20 中,我们可以使用软件包 postgresql16 安装最新版本。
安装
apk add postgresql16 postgresql16-contrib postgresql16-openrc
rc-update add postgresql
rc-service postgresql start
这将启动 postgresql 16 服务器并执行一些初始配置。
配置
以 postgres 用户身份登录并启动 psql 以创建新用户和数据库
su postgres
psql
create user user with encrypted password 'password';
create database database;
grant all privileges on database database to user;
网络访问
默认情况下,PostgreSQL 仅允许本地访问。要允许其他网络服务访问数据库,我们需要配置 PostgreSQL 以允许外部连接。
使用 nano
或任何其他 <editor> /etc/postgresql16/postgresql.conf
编辑 /etc/postgresql16/postgresql.conf
文件
找到以以下内容开头的行
#listen_addresses = 'localhost'
取消注释并将其更改为以下内容
listen_addresses = '*'
如果您希望它监听特定的 IP 地址,您可以将 * 更改为 192.168.1.2/24。保存文件并更改下一个配置文件。
使用 nano
或任何其他 <editor> /etc/postgresql16/pg_hba.conf
修改 /etc/postgresql16/pg_hba.conf
文件
查找以下行
host all all 127.0.0.1/32 md5
并将其更改为
host all all 0.0.0.0/0 md5
此行允许来自任何 IP 地址的连接,并需要密码进行身份验证 (md5)。
重启服务器以允许来自其他主机的传入连接。
rc-service postgresql restart
允许端口通过防火墙。对于 UFW 防火墙,输入
ufw allow 5432
这是一个基本配置。您可以配置 PostgreSQL 服务器仅允许特定网络或 IP 连接,但这超出了本文档的范围。
升级 PostgreSQL

故障排除
