统信UOS部署PostgreSQL有四种方法:一、APT在线安装,适用于联网环境,自动解决依赖;二、DEB离线安装,适合无网或需指定版本场景;三、源码编译安装,支持高度定制与信创适配;四、ARM64专项安装,专为国产芯片优化。

如果您在统信UOS操作系统上需要部署PostgreSQL数据库,但系统默认未预装或版本不符合业务要求,则可能是由于软件源未更新、依赖缺失、网络受限或架构适配不匹配所致。以下是针对不同环境与需求的多种安装方法:
一、APT在线安装
该方法利用统信UOS官方APT源直接安装预编译的PostgreSQL二进制包,操作最简、依赖自动解决,适用于具备互联网连接的桌面版或服务器版快速部署。
1、以root权限打开终端,执行系统更新命令,确保软件源索引最新:sudo apt update
2、安装PostgreSQL核心服务及配套工具包:sudo apt install -y postgresql postgresql-contrib
3、安装完成后,系统将自动创建postgres用户并初始化默认数据目录;验证服务状态:sudo systemctl status postgresql
4、如服务未运行,手动启动并设为开机自启:sudo systemctl start postgresql && sudo systemctl enable postgresql
5、切换至postgres用户并进入psql交互界面:sudo -u postgres psql
6、在psql中为默认用户设置密码(关键步骤,否则远程连接将被拒绝):ALTER USER postgres WITH PASSWORD '您的强密码';
7、退出psql:\q
二、DEB离线包安装
该方法适用于无网络环境或需精确控制版本(如postgresql-14.2)的场景,通过本地安装预编译DEB包完成部署,避免编译耗时,但需提前准备完整依赖链。
1、在联网机器下载对应架构(amd64/arm64)与版本的DEB主包及依赖包:wget https://professional-packages.chinauos.com/desktop-professional/pool/main/p/postgresql-14/postgresql-14_14.2-1.pgdg+uos20_amd64.deb
2、将下载的.deb文件及关联依赖(如postgresql-client-14、libpq5、postgresql-common)拷贝至目标UOS机器
3、使用dpkg命令强制安装主包(忽略部分依赖暂未满足的情况):sudo dpkg -i --force-depends postgresql-14_14.2-1.pgdg+uos20_amd64.deb
4、修复缺失依赖:sudo apt --fix-broken install -y
5、初始化数据库集群:sudo /usr/lib/postgresql/14/bin/initdb -D /var/lib/postgresql/14/main/
6、启用并启动指定实例服务:sudo systemctl start postgresql@14-main && sudo systemctl enable postgresql@14-main
三、源码编译安装
该方式支持高度定制化,可精确指定安装路径、启用SSL/PAM/LDAP/ICU等高级特性,并集成PostGIS地理空间扩展,适合生产级部署、信创适配或apt源中无对应高版本的场景。
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 -r -m -u 2000 -g 2000 postgres && sudo mkdir -p /usr/local/pgsql/data && sudo chown -R postgres:postgres /usr/local/pgsql/data
7、切换用户并初始化数据库:sudo -u postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
8、启动服务:sudo -u postgres /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/logfile start
四、ARM64专项适配安装
该方法专为鲲鹏、飞腾等国产ARM64平台优化,确保指令集兼容性与性能调优,适用于信创整机环境,需使用适配UOS ARM64架构的二进制包或源码重新编译。
1、确认系统架构:uname -m
2、下载ARM64专用DEB包(如uos20-arm64)或从源码启用ARM特定选项:wget https://professional-packages.chinauos.com/server-uos20/pool/main/p/postgresql-14/postgresql-14_14.2-1.pgdg+uos20_arm64.deb
3、安装主包及ARM64依赖:sudo dpkg -i postgresql-14_14.2-1.pgdg+uos20_arm64.deb
4、修复依赖并初始化:sudo apt --fix-broken install -y && sudo /usr/lib/postgresql/14/bin/initdb -D /var/lib/postgresql/14/main/
5、配置systemd服务单元文件,指定ARM64环境变量:sudo tee /etc/systemd/system/postgresql-arm64.service <<EOF [Unit] Description=PostgreSQL ARM64 Database Server After=network.target [Service] Type=notify User=postgres Group=postgres Environment=LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu ExecStart=/usr/lib/postgresql/14/bin/pg_ctl -D /var/lib/postgresql/14/main/ -l /var/log/postgresql/arm64.log start [Install] WantedBy=multi-user.target EOF
6、重载服务并启用:sudo systemctl daemon-reload && sudo systemctl enable postgresql-arm64 && sudo systemctl start postgresql-arm64

















