统信UOS部署PostgreSQL有四种方法:一、APT在线安装(最快捷);二、源码编译安装(适配定制与信创);三、离线DEB包安装(适用于内网);四、ARM64专项适配(支持鲲鹏/飞腾)。

如果您在统信UOS操作系统上需要部署PostgreSQL数据库,但尚未安装或遇到安装失败、版本不匹配、离线环境受限等问题,则可能是由于系统源未配置、依赖缺失、架构适配不当或服务未初始化所致。以下是针对不同场景的多种安装方法:
一、使用APT包管理器在线安装(适用于联网的桌面/服务器版)
该方法利用统信UOS官方软件源直接安装预编译的PostgreSQL二进制包,操作最简、兼容性高,适用于快速部署测试或开发环境。
1、以root权限打开终端,执行系统更新命令,确保软件源索引最新:
sudo apt update
2、安装PostgreSQL核心服务及配套工具包:
sudo apt install -y postgresql postgresql-contrib
3、安装完成后,系统将自动创建postgres用户,并初始化默认数据目录;验证服务状态:
sudo systemctl status postgresql
4、切换至postgres用户并进入psql交互界面:
sudo -u postgres psql
5、在psql中为默认用户设置密码(关键步骤,否则远程连接将被拒绝):
ALTER USER postgres WITH PASSWORD '您的强密码';
6、退出psql:
\q
二、源码编译安装(适用于定制化需求、离线环境或指定版本如14.2+PostGIS)
该方式可精确控制安装路径、启用SSL/PAM/LDAP等高级特性,并支持集成PostGIS地理空间扩展,适合生产级部署或国产化信创环境深度适配。
1、安装编译所需全部依赖组件:
sudo apt install -y build-essential libreadline-dev zlib1g-dev libxml2-dev libxslt-dev libssl-dev libicu-dev libldap2-dev libcurl4-openssl-dev libpam0g-dev uuid-dev libgeos-dev libproj-dev protobuf-compiler libprotobuf-dev libprotobuf-c-dev protobuf-c-compiler gdal-bin libgdal-dev
2、下载PostgreSQL 14.2源码包:
wget https://ftp.postgresql.org/pub/source/v14.2/postgresql-14.2.tar.bz2
3、解压并进入源码目录:
tar xjf postgresql-14.2.tar.bz2
cd postgresql-14.2
4、配置编译参数,指定安装路径及启用模块:
./configure --prefix=/usr/local/pgsql --with-openssl --with-pam --with-ldap --with-libxml --with-libxslt --with-icu --with-zlib --with-readline
5、执行编译与安装:
make
sudo make install
6、创建专用运行用户与数据目录:
sudo useradd postgres
sudo mkdir -p /usr/local/pgsql/data
sudo chown -R postgres:postgres /usr/local/pgsql/data
7、初始化数据库集群:
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
8、启动服务(后台运行,日志输出至指定文件):
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/logfile start
三、离线RPM/DEB包批量安装(适用于无外网的内网服务器)
该方法通过在联网机器上预先下载完整依赖链与主程序包,打包后迁移至目标UOS服务器安装,规避网络策略限制,保障部署一致性与可审计性。
1、在同版本统信UOS联网机上,查询并下载postgresql-13-server及其运行时依赖:
apt download postgresql-13 postgresql-13-server postgresql-13-contrib
2、使用apt-rdepends递归导出所有依赖包列表:
apt-rdepends postgresql-13-server | grep -v "^ " | xargs apt download
3、将所有.deb文件打包压缩:
tar -czf postgresql-offline-packages.tar.gz *.deb
4、将压缩包拷贝至目标离线UOS服务器,解压后进入目录:
tar -xzf postgresql-offline-packages.tar.gz
5、按依赖顺序安装(避免循环依赖报错):
sudo dpkg -i libpq5_*.deb
sudo dpkg -i postgresql-client-common_*.deb
sudo dpkg -i postgresql-common_*.deb
sudo dpkg -i postgresql-13_*.deb
sudo dpkg -i postgresql-13-server_*.deb
6、手动修复未满足依赖(如有):
sudo apt-get install -f
7、初始化数据库并启用服务:
sudo pg_createcluster 13 main --start
sudo systemctl enable postgresql
四、ARM64架构专项适配安装(适用于鲲鹏、飞腾等国产CPU平台)
统信UOS在ARM64平台上部分软件源未同步最新PostgreSQL版本,需确认包名适配性并调整配置以规避x86指令集兼容问题。
1、确认当前系统架构:
uname -m
2、若输出为aarch64,优先尝试安装架构标记明确的包:
sudo apt install -y postgresql-11 postgresql-client-11
3、若提示“无法定位软件包”,则改用源码编译方式,并在configure阶段显式禁用不支持模块:
./configure --prefix=/home/pgsql --without-readline --without-icu --with-openssl
4、修改pg_hba.conf,强制启用密码认证(ARM平台默认对等认证易导致登录失败):
echo "host all all 0.0.0.0/0 md5" | sudo tee -a /etc/postgresql/*/main/pg_hba.conf
5、修改postgresql.conf监听配置,放开远程访问:
sudo sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/g" /etc/postgresql/*/main/postgresql.conf
6、重启服务并验证端口监听状态:
sudo systemctl restart postgresql
sudo ss -tlnp | grep :5432

















