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

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

相关推荐
余槐i12 小时前
EXPLAIN 显示走了索引查询仍慢:回表与选择性在 500 万行表上拉开 10 倍耗时
数据库·postgresql·性能优化·vacuum·explain
梦在远山后20 小时前
PostgreSQL 锁与死锁:结合 DevMind 讲清楚
python·postgresql·agent
浪潮IT馆21 小时前
Windows 10 安装 PostgreSQL 9.6.24 完整教程
数据库·windows·postgresql
岳麓丹枫0011 天前
PG 孤儿物理复制槽残留导致 pg_wal 膨胀 19G 故障分析
postgresql
haerapi1 天前
把 PostgreSQL 复制巡检做成可审计闭环:确定性采集、阈值判定与受控模型归纳
数据库·postgresql
如果'\'真能转义说2 天前
Docker Desktop | 本地化挂载 Postgresql
docker·postgresql·容器
IvorySQL2 天前
PostgreSQL 日报 |RLS 机密性绕过漏洞(9 月 27 日)
数据库·postgresql
IvorySQL3 天前
去 IOE 的最后一公里:IvorySQL 5.4 × RISC-V 实测
数据库·人工智能·ai·postgresql·risc-v
jeffwang4 天前
不装分词插件,用 PostgreSQL 做中文商品搜索:bigram + 向量 + RRF,以及「单字搜不到」这个坑
搜索引擎·postgresql·go