麒麟OS怎么安装PostgreSQL_麒麟OS Postgres数据库安装教程【实战】

陌枫君_1840

陌枫君_1840

2026-04-08

439人浏览

原创

麒麟系统部署postgresql常见问题源于路径不规范、缺专用用户或开发包,应按yum在线安装(推荐初学者)、源码编译(适配arm64)、docker容器化、readline-devel报错专项处理及初始化后必要配置五步解决。

麒麟os怎么安装postgresql_麒麟os postgres数据库安装教程【实战】

如果您在麒麟操作系统上部署PostgreSQL数据库时遇到依赖缺失、用户权限错误或编译失败等问题,则很可能是由于安装路径不规范、未创建专用系统用户或缺少关键开发包所致。以下是解决此问题的步骤:

一、使用YUM在线安装(推荐初学者)

该方法适用于银河麒麟V10/V11服务器版,系统已配置有效软件源且网络连通,可自动解决依赖关系并完成服务注册。

1、以root身份执行系统更新,确保基础环境最新:
sudo yum update -y

2、安装PostgreSQL主程序及扩展组件:
sudo yum install -y postgresql-server postgresql-contrib

3、初始化数据库集群目录:
sudo postgresql-setup --initdb

4、启动服务并设置开机自启:
sudo systemctl start postgresql
sudo systemctl enable postgresql

5、验证服务状态与版本:
sudo systemctl status postgresql
psql --version

二、源码编译安装(适配ARM64等非标架构)

当YUM无法匹配目标版本(如PostgreSQL 17/18),或系统为ARM64架构导致预编译包不兼容时,需通过源码编译安装,可精确控制依赖与安装路径。

1、下载对应版本源码包(以v18.1为例):
wget https://ftp.postgresql.org/pub/source/v18.1/postgresql-18.1.tar.gz

2、解压并进入源码目录:
tar -zxvf postgresql-18.1.tar.gz
cd postgresql-18.1

3、安装编译依赖:
sudo yum install -y gcc gcc-c++ zlib-devel readline-devel openssl-devel

4、创建postgres用户与组:
sudo groupadd postgres
sudo useradd -g postgres postgres
sudo passwd postgres

5、配置编译参数并安装:
./configure --prefix=/usr/local/pgsql --with-openssl
make
sudo make install

6、创建数据目录并赋权:
sudo mkdir -p /usr/local/pgsql/data
sudo chown -R postgres:postgres /usr/local/pgsql/data

7、切换用户并初始化数据库:
sudo -i -u postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

三、Docker容器化部署(隔离环境快速启用)

该方式避免宿主机污染,适合测试、CI/CD或需多版本共存场景,依赖Docker运行时环境。

1、确认Docker已安装并运行:
sudo systemctl is-active docker

2、拉取官方PostgreSQL镜像(指定版本增强兼容性):
docker pull postgres:17-alpine

3、创建持久化数据卷与启动容器:
docker volume create pgsql_data_v17
docker run -d \
  --name pgsql-17 \
  -e POSTGRES_PASSWORD=your_secure_password \
  -v pgsql_data_v17:/var/lib/postgresql/data \
  -p 5432:5432 \
  -d postgres:17-alpine

4、验证容器内服务状态:
docker exec -it pgsql-17 psql -U postgres -c "SELECT version();"

四、规避readline-devel报错专项处理

在ARM64麒麟V10 SP2等系统中,configure阶段常因readline-devel版本不匹配触发中断,此时应采用替代方案绕过该依赖。

1、检查当前readline安装状态:
rpm -qa | grep readline

2、若存在版本冲突或缺失,强制跳过readline支持:
./configure --prefix=/opt/app/pgsql-17.0 --without-readline

3、继续执行编译与安装:
make && sudo make install

4、注意:禁用readline后psql将失去命令行编辑功能(如方向键、历史回溯),建议仅在紧急部署且无交互需求时启用。

五、初始化后必要配置项

无论采用何种安装方式,首次启动前均需完成监听地址与访问控制配置,否则数据库仅限本地UNIX socket连接。

1、定位postgresql.conf文件(常见路径):
/var/lib/pgsql/data/postgresql.conf 或 /usr/local/pgsql/data/postgresql.conf

2、修改监听配置:
listen_addresses = '*'
port = 5432

3、编辑pg_hba.conf,在末尾添加客户端认证规则:
host all all 0.0.0.0/0 md5

4、重启服务使配置生效:
sudo systemctl restart postgresql

5、开放系统防火墙端口(如启用):
sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

2023.07.24

665

4

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

4739

6

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

5637

6

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

2113

7

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

2026.02.11

219

16

Docker 容器部署
Docker 容器部署

本专题整合了Docker容器部署相关内容,阅读专题下面的文章了解更多详细操作教程。

2026.03.31

411

14

Java容器化部署与Docker实践教程合集
Java容器化部署与Docker实践教程合集

聚焦 Java 应用的容器化与云原生部署,讲解 Dockerfile 编写规范与 Java 应用镜像构建、多阶段构建(Multi-stage Build)减小镜像体积、Jib / Buildpacks 免 Dockerfile 镜像构建方案、JVM 容器感知参数(-XX:MaxRAMPercentage)配置、Docker Compose 编排多服务(应用 + MySQL + Redis)、容器健康检查与资源限制、Kubernetes

2026.05.11

380

26

Go Docker与容器化部署教程合集
Go Docker与容器化部署教程合集

聚焦 Go 应用的容器化部署优势与实践,讲解 Go 静态编译特性(CGO_ENABLED=0)与 scratch / distroless 极小基础镜像构建、多阶段 Dockerfile 编写规范、交叉编译生成目标平台二进制、镜像安全扫描(Trivy)与漏洞修复、Docker Compose 本地编排开发环境、Kubernetes Deployment / Service / ConfigMap 部署 Go 服务、健康检查(Livene

2026.05.15

285

24

Hyperf 项目部署运维与性能调优手册
Hyperf 项目部署运维与性能调优手册

聚焦 Hyperf 在生产环境的落地,包含 Docker 高效打包、Swoole 配置优化、常见的内存溢出(OOM)问题排查方法以及热更新方案。

2026.05.19

385

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习