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

相关推荐
资深web全栈开发16 小时前
PostgreSQL枚举还是字符串:ENUM vs VARCHAR + CHECK 的权衡
数据库·postgresql
Aaron_Wjf18 小时前
PG Vector测试
数据库·postgresql
Aaron_Wjf18 小时前
PG逻辑复制槽应用
数据库·postgresql
智商偏低19 小时前
Postgresql导入几何数据(shp,geojson)的几种方式
数据库·postgresql
我是Superman丶20 小时前
在 PostgreSQL 中使用 JSONB 类型并结合 MyBatis-Plus 实现自动注入,主要有以下几种方案
数据库·postgresql·mybatis
松涛和鸣1 天前
70、IMX6ULL LED驱动实战
linux·数据库·驱动开发·postgresql·sqlserver
数据知道1 天前
PostgreSQL 核心原理:什么场景下开启 JIT 能提升性能?(JIT 编译)
数据库·postgresql
盒马coding1 天前
postgreSQL中调整Checkpoint的重要性
数据库·mysql·postgresql
凸头1 天前
PostgreSQL 16 中文分词插件 zhparser 在 Windows 11 上的编译与安装
windows·postgresql·中文分词