当前位置: 首页 > news >正文

PostgreSQL数据库RPM方式安装详解

PostgreSQL数据库RPM方式安装详解

  • 1. 基础环境配置
  • 2. 前期安装准备
  • 3. 软件安装
    • 3.2 RPM方式安装(PG 14)
      • 3.2.1 下载RPM安装包
      • 3.2.2 安装RPM包 PG14
      • 3.2.3 初始化数据库
      • 3.2.4 启动数据库
      • 3.2.5 开机自启动
      • 3.2.6 编辑环境变量
  • 4. 安装后配置

1. 基础环境配置

2. 前期安装准备

基础环境配置参考:
PostgreSQL 数据库源码编译安装全流程详解 Linux 8

3. 软件安装

3.2 RPM方式安装(PG 14)

3.2.1 下载RPM安装包

https://yum.postgresql.org/rpmchart/

postgresql14 - PostgreSQL client programs and libraries
postgresql14-contrib - Contributed source and binaries distributed with PostgreSQL
postgresql14-libs - The shared libraries required for any PostgreSQL clients
postgresql14-server - The programs needed to create and run a PostgreSQL server
[root@pgdb soft]# ll
total 10672
-rwxr-xr-x 1 root root 1556440 Mar 18 21:42 postgresql14-14.2-1PGDG.rhel7.x86_64.rpm
-rwxr-xr-x 1 root root  698212 Mar 18 21:42 postgresql14-contrib-14.2-1PGDG.rhel7.x86_64.rpm
-rwxr-xr-x 1 root root 2609740 Mar 18 21:42 postgresql14-devel-14.2-1PGDG.rhel7.x86_64.rpm
-rwxr-xr-x 1 root root  273192 Mar 18 21:42 postgresql14-libs-14.2-1PGDG.rhel7.x86_64.rpm
-rwxr-xr-x 1 root root 5783224 Mar 18 21:42 postgresql14-server-14.2-1PGDG.rhel7.x86_64.rpm

3.2.2 安装RPM包 PG14

[root@pgdb soft]# rpm -ivh postgresql14-*
warning: postgresql14-14.4-1PGDG.rhel8.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 08b40d20: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...1:postgresql14-libs-14.4-1PGDG.rhel################################# [ 20%]2:postgresql14-14.4-1PGDG.rhel8    ################################# [ 40%]3:postgresql14-server-14.4-1PGDG.rh################################# [ 60%]4:postgresql14-contrib-14.4-1PGDG.r################################# [ 80%]5:postgresql14-devel-14.4-1PGDG.rhe################################# [100%]
[/usr/lib/tmpfiles.d/pesign.conf:1] Line references path below legacy directory /var/run/, updating /var/run/pesign → /run/pesign; please update the tmpfiles.d/ drop-in file accordingly.

3.2.3 初始化数据库

[root@pgdb ~]# su - postgres
[postgres@pgdb ~]$ /usr/pgsql-14/bin/initdb -D /pgdata/data/pg14
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".Data page checksums are disabled.fixing permissions on existing directory /pgdata/data/pg14 ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... Asia/Shanghai
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... okinitdb: warning: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.Success. You can now start the database server using:/usr/pgsql-14/bin/pg_ctl -D /pgdata/data/pg14 -l logfile start

3.2.4 启动数据库

[postgres@pgdb ~]$ /usr/pgsql-14/bin/pg_ctl -D /pgdata/data/pg14 -l logfile start
waiting for server to start.... done
server started
[postgres@pgdb ~]$ /usr/pgsql-14/bin/pg_ctl status
pg_ctl: server is running (PID: 36530)
/usr/pgsql-14/bin/postgres "-D" "/pgdata/data/pg14"

3.2.5 开机自启动

  • 修改自启动配置文件路径
# 修改配置文件路径
vi /usr/lib/systemd/system/postgresql-14.service
# Location of database directory
#Environment=PGDATA=/var/lib/pgsql/14/data/
Environment=PGDATA=/pgdata/data/pg14ExecStartPre=/usr/pgsql-14/bin/postgresql-14-check-db-dir ${PGDATA}
ExecStart=/usr/pgsql-14/bin/postmaster -D ${PGDATA}
  • enable开机启动服务
# reload配置文件
[root@pgdb ~]# systemctl daemon-reload
# 启动数据库
[root@pgdb ~]# systemctl start postgresql-14.service
# 开机自启动
[root@pgdb ~]# systemctl enable postgresql-14.service
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql-14.service → /usr/lib/systemd/system/postgresql-14.service.
# pg14 资源状态
[root@pgdb ~]# systemctl status postgresql-14.service
● postgresql-14.service - PostgreSQL 14 database serverLoaded: loaded (/usr/lib/systemd/system/postgresql-14.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2025-03-19 15:28:25 CST; 1min 12s agoDocs: https://www.postgresql.org/docs/14/static/Main PID: 45656 (postmaster)Tasks: 8 (limit: 37638)Memory: 8.1MCGroup: /system.slice/postgresql-14.service├─45656 /usr/pgsql-14/bin/postmaster -D /pgdata/data/pg14/├─45657 postgres: logger ├─45659 postgres: checkpointer ├─45660 postgres: background writer ├─45661 postgres: walwriter ├─45662 postgres: autovacuum launcher ├─45663 postgres: stats collector └─45664 postgres: logical replication launcher Mar 19 15:28:25 pgdb systemd[1]: Starting PostgreSQL 14 database server...
Mar 19 15:28:25 pgdb postmaster[45656]: 2025-03-19 15:28:25.350 CST [45656] LOG:  redirecting log output to logging collector process
Mar 19 15:28:25 pgdb postmaster[45656]: 2025-03-19 15:28:25.350 CST [45656] HINT:  Future log output will appear in directory "log".
Mar 19 15:28:25 pgdb systemd[1]: Started PostgreSQL 14 database server.

3.2.6 编辑环境变量

  • 编辑环境变量
vi .bash_profile
#PG 14
######
export PGPORT=5432
export PGDATA=/pgdata/data/pg14
export PGHOME=/usr/pgsql-14
  • 验证环境变量
[postgres@pgdb ~]$ source .bash_profile
[postgres@pgdb ~]$ which pg_ctl
/usr/pgsql-14/bin/pg_ctl

4. 安装后配置

PostgreSQL 数据库源码编译安装全流程详解 Linux 8

相关文章:

  • Python语法系列博客 · 第6期[特殊字符] 文件读写与文本处理基础
  • OCR技术与视觉模型技术的区别、应用及展望
  • 大学第一次笔记本清灰
  • 2.2/Q2,GBD数据库最新文章解读
  • 通过 Samba 服务实现 Ubuntu 和 Windows 之间互传文件
  • 单元测试的一般步骤
  • Linux操作系统--环境变量
  • PHP异常处理__Throwable
  • Vue 3 中将 ref 创建的响应式对象数据转换为普通(非响应式)的数据
  • 自动化测试相关协议深度剖析及A2A、MCP协议自动化测试应用展望
  • 基于大模型的下肢静脉曲张全流程预测与诊疗方案研究报告
  • [Swift]pod install成功后运行项目报错问题error: Sandbox: bash(84760) deny(1)
  • Django 实现服务器主动给客户端发送消息的几种常见方式及其区别
  • 医院科研科AI智能科研支撑平台系统设计架构方案探析
  • Java 动态代理教程(JDK 动态代理)(以RPC 过程为例)
  • 【java实现+4种变体完整例子】排序算法中【希尔排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格
  • 从FPGA实现角度介绍DP_Main_link主通道原理
  • 【AIVS】OPENAIVS开源视频推理系统简介
  • Mermaid 是什么,为什么适合AI模型和markdown
  • 螺旋升降机可以通过人工智能来进行选型吗
  • 马克思主义理论研究教学名师系列访谈|石书臣:思政课是落实立德树人的关键
  • 苏丹外交部:苏丹西部一城市约300名平民遭杀害
  • 上海环球马术冠军赛开赛,一场体育与假日消费联动的狂欢
  • CMG亚太总站:没有邀请韩国偶像团体举办巡回演出
  • 拍摄《我们这一代》的肖全开展“江浙沪叙事”
  • 证监会:坚决拥护党中央对王建军进行纪律审查和监察调查决定