宝塔面板中部署PostgreSQL需四步:一、通过软件商店安装官方插件;二、命令行编译安装并注册systemd服务;三、修改面板源码使数据库模块识别PostgreSQL;四、配置postgresql.conf、pg_hba.conf及宝塔防火墙放行5432端口。

如果您希望在宝塔面板中部署 PostgreSQL 数据库,但默认安装环境未包含该数据库服务,则需手动添加适配组件并配置运行环境。以下是完成 PostgreSQL 在宝塔面板中安装与集成的具体操作步骤:
一、通过宝塔软件商店安装 PostgreSQL 插件
宝塔官方软件商店提供第三方开发的 PostgreSQL 插件,可实现图形化管理与一键部署,适用于 CentOS 7/8 和 Ubuntu 20.04+ 系统,要求宝塔版本不低于 8.0。
1、登录宝塔面板后台,点击左侧菜单栏的软件商店。
2、在搜索框中输入PostgreSQL,找到名称为“PostgreSQL 数据库”的插件(开发者标识为“btwaf”或“宝塔插件中心”)。
3、确认系统兼容性后,点击安装按钮,等待状态栏显示“已安装”。
4、安装完成后,在左侧菜单栏出现PostgreSQL入口,点击进入管理界面。
二、使用命令行编译安装 PostgreSQL 并对接宝塔
当软件商店插件不可用或需指定版本(如 PostgreSQL 15/16)时,可通过源码编译方式安装,并将服务注册为宝塔可识别的守护进程,确保其状态可被面板监控。
1、执行yum install -y gcc readline-devel zlib-devel openssl-devel(CentOS)或apt install -y build-essential libreadline-dev zlib1g-dev libssl-dev(Ubuntu)安装依赖。
2、下载对应版本源码包,例如:wget https://ftp.postgresql.org/pub/source/v15.6/postgresql-15.6.tar.gz,解压后进入目录。
3、依次执行:./configure --prefix=/www/server/pgsql --with-openssl、make && make install。
4、创建数据目录并初始化:/www/server/pgsql/bin/initdb -D /www/server/pgsql/data。
5、编写 systemd 服务文件/etc/systemd/system/postgresql.service,定义启动路径与用户权限,启用并启动服务。
三、配置宝塔面板数据库管理模块识别 PostgreSQL
宝塔默认仅识别 MySQL 和 MariaDB,需修改面板数据库检测逻辑,使“数据库”主菜单支持 PostgreSQL 实例列表展示与基础操作。
1、备份原始数据库检测脚本:cp /www/server/panel/class/mysql.py /www/server/panel/class/mysql.py.bak。
2、编辑/www/server/panel/class/pgsql.py,写入连接验证、实例枚举、用户查询等基础方法,参照 mysql.py 结构实现 get_list()、get_users() 等接口。
3、修改/www/server/panel/class/common.py,在数据库类型判断处加入对 pgsql.py 的 import 和调用分支。
4、重启面板服务:bt restart,刷新浏览器后检查数据库页面是否出现 PostgreSQL 标签页。
四、配置 PostgreSQL 远程访问与宝塔防火墙协同策略
为支持外部应用连接 PostgreSQL,需同时放开数据库监听地址与宝塔内置防火墙端口规则,避免网络层拦截导致连接拒绝。
1、编辑 PostgreSQL 配置文件/www/server/pgsql/data/postgresql.conf,将listen_addresses值改为'0.0.0.0'。
2、编辑/www/server/pgsql/data/pg_hba.conf,在末尾新增一行:host all all 0.0.0.0/0 md5。
3、在宝塔面板中进入安全页面,点击放行端口,添加5432端口(TCP 协议)。
4、重启 PostgreSQL 服务:systemctl restart postgresql,验证远程 telnet 或 psql 连接是否成功。










