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 端口的放行。

相关推荐
IvorySQL6 小时前
PostgreSQL 日报| OpenCode 遭黑客入侵 API 密钥失窃(10 月 20 日)
数据库·postgresql·区块链
ss2737 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 19 PostgreSQL逻辑备份:pg_dump与pg_dumpall
数据库·笔记·postgresql
handonch7 小时前
MySQL → Kingbase PG模式 高频SQL替换清单
数据库·mysql·postgresql
ss2731 天前
AI时代首先数据库-PostgreSQL实战笔记 | 18 PostgreSQL基本索引原理与创建
数据库·笔记·postgresql
ss2731 天前
AI时代首先数据库-PostgreSQL实战笔记 | 17 PostgreSQL SQL高级查询:窗口函数、CASE、COALESCE
数据库·笔记·postgresql
qq_白羊座2 天前
:: 符号(Postgres / Hologres)
postgresql
zhangjw342 天前
1-3 PostgreSQL 架构模型:实例、数据库、Schema 模式、表空间完整概念
数据库·postgresql·架构
周周爱喝粥呀2 天前
详细教程:在 Docker 中部署 PostgreSQL 并使用 pgAdmin 可视化管理
docker·postgresql·容器
qq_白羊座2 天前
Hologres / PostgreSQL jsonb 常用函数 & 操作符对照表
数据库·postgresql
kele_z2 天前
手工修改数据库中的数据时,我会加的四道保险
mysql·postgresql