Postgresql 16

来自 Alpine Linux

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

Todo: 待办事项:需要添加关于升级 PostgreSQL 的注释


故障排除

Todo: 待办事项:需要添加故障排除示例


参见