PostgreSQL数据库RPM方式安装详解

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 ... ok

initdb: 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/pg14

ExecStartPre=/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 server
   Loaded: 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 ago
     Docs: https://www.postgresql.org/docs/14/static/
 Main PID: 45656 (postmaster)
    Tasks: 8 (limit: 37638)
   Memory: 8.1M
   CGroup: /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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

X数据库日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值