Debian 12 环境下 PostgreSQL 15 部署与安全配置

  1. 系统安装

Debian 12 官方仓库已包含 PostgreSQL 15。

复制代码
sudo apt update
sudo apt install postgresql postgresql-contrib -y
  1. 防火墙配置 (UFW)

确保系统防火墙放行数据库默认端口 5432

复制代码
sudo ufw allow 5432/tcp
sudo ufw reload
  1. 数据库权限管理

直接在终端调用 psql 管理器创建环境:

复制代码
# 以 postgres 管理员身份进入
sudo -u postgres psql

# --- SQL 执行区域 ---
# 1. 创建用户并设密码
CREATE USER myuser WITH PASSWORD 'your_password';

# 2. 创建数据库并指定归属
CREATE DATABASE mydatabase OWNER myuser;

# 3. 授予所有权限
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;

# 退出
\q
  1. 开启外部连接 (核心配置)

默认情况下,PostgreSQL 只允许本机 127.0.0.1 访问。若要远程连接,需修改两个配置文件。

A. 修改监听地址

使用 GNU Nano 编辑器 修改主配置:

复制代码
sudo nano /etc/postgresql/15/main/postgresql.conf

找到以下行,取消注释并将 localhost 改为 *

复制代码
listen_addresses = '*'

B. 修改访问策略

修改基于主机的身份验证文件:

复制代码
sudo nano /etc/postgresql/15/main/pg_hba.conf

在文件末尾添加以下行(允许所有 IP 使用 MD5 密码认证):

复制代码
host    all             all             0.0.0.0/0               md5

C. 重启服务

复制代码
sudo systemctl restart postgresql

建议步骤: 你现在可以使用 NavicatDBeaver 尝试连接。如果连接失败,请检查是否漏掉了 5432 端口的放行。

相关推荐
一只fish15 小时前
优化器架构对比:Oracle vs PostgreSQL vs MySQL
mysql·postgresql·oracle
ClouGence18 小时前
PostgreSQL 同步到 Iceberg:开源、私有部署与 SaaS 方案对比
数据库·postgresql·开源
l1t19 小时前
DeepSeek总结的在 pg_stat_statements 中诊断高基数工作负载
数据库·缓存·postgresql
测试运维日常笔记1 天前
PostgreSQL 数据库磁盘空间占用排查手顺
数据库·postgresql·oracle
IvorySQL2 天前
PostgreSQL 日报|PG18.5 回归测试崩溃问题(8 月 12 日)
大数据·数据库·人工智能·postgresql
叶 落2 天前
Ubuntu24 安装 PostgreSQL
数据库·postgresql·安装教程
copyer_xyf3 天前
Agentic RAG 实战:PostgreSQL + LangGraph 一条链路
python·postgresql·agent
jnrjian3 天前
EDB PEM 安装加强 curl
postgresql
岳麓丹枫0013 天前
PgBouncer 从原理到实践
postgresql
IvorySQL4 天前
PostgreSQL 日报 | JOIN 与外键优化(8 月 9 日)
数据库·postgresql