Debian 12 安装 PostgreSQL 数据库

发表于 2025-08-09 14:35:30 分类于 默认分类 阅读量 338

Debian 12 安装 PostgreSQL 数据库教程

PostgreSQL 是一款功能强大且开源的关系型数据库管理系统。本文将详细介绍如何在 Debian 12 系统上安装 PostgreSQL,包括使用系统自带源安装和使用 PostgreSQL 官方源安装两种方式,并提供远程访问配置方法。


1. 方式一:使用 Debian 官方源安装(稳定版)

Debian 12 自带 PostgreSQL 15 版本,适合对版本要求不高的用户。

安装步骤

# 更新系统包
sudo apt update && sudo apt upgrade -y

# 安装 PostgreSQL 及常用扩展
sudo apt install postgresql postgresql-contrib -y

# 查看 PostgreSQL 版本
psql --version

验证服务状态

sudo systemctl status postgresql

PostgreSQL 安装后会自动启动。


2. 方式二:使用 PostgreSQL 官方源安装(最新版)

如果你需要更高版本(如 PostgreSQL 16),推荐使用官方仓库。

安装步骤

# 安装必要工具
sudo apt install curl gnupg2 lsb-release -y

# 添加 PostgreSQL 官方 GPG 密钥
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg

# 添加官方仓库
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

# 更新软件包列表
sudo apt update

# 安装 PostgreSQL 16 及常用扩展
sudo apt install postgresql-16 postgresql-contrib -y

# 查看版本
psql --version

3. 启动与连接 PostgreSQL

安装完成后,系统会自动创建一个与当前系统用户名同名的数据库用户。

切换到 postgres 用户

sudo -i -u postgres

进入 PostgreSQL 交互式终端

psql

退出终端

\q

4. 允许远程连接(可选)

默认情况下,PostgreSQL 仅允许本地连接。如果需要远程访问,需要进行以下配置。

1. 修改监听地址

编辑 PostgreSQL 主配置文件:

sudo nano /etc/postgresql/*/main/postgresql.conf

找到:

#listen_addresses = 'localhost'

修改为:

listen_addresses = '*'

保存并退出。

2. 配置远程访问权限

编辑 pg_hba.conf 文件:

sudo nano /etc/postgresql/*/main/pg_hba.conf

在文件末尾添加以下内容,允许所有 IP 通过密码认证访问:

host    all             all             0.0.0.0/0               md5

保存并退出。

3. 重启 PostgreSQL 服务

使配置生效:

sudo systemctl restart postgresql

4. 防火墙放行(如果启用了 ufw

sudo ufw allow 5432/tcp

5. 设置 PostgreSQL 用户密码

默认 postgres 用户没有设置密码,建议为安全起见设置密码:

sudo -i -u postgres
psql

在 psql 终端执行:

ALTER USER postgres PASSWORD 'your_password';
\q
exit

替换 'your_password' 为你想设置的安全密码。


6. 总结

本文介绍了在 Debian 12 系统上安装 PostgreSQL 的两种方法:

  • 使用系统官方源安装:版本稳定,默认 PostgreSQL 15。
  • 使用 PostgreSQL 官方源安装:获取最新版本(如 PostgreSQL 16)。

并详细说明了如何设置远程访问以及如何为数据库用户设置密码。按照步骤配置后,你就可以安全地从远程连接你的 PostgreSQL 数据库了。