欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > PostgreSQL数据库yum方式安装详解

PostgreSQL数据库yum方式安装详解

2025/9/26 5:01:38 来源:https://blog.csdn.net/Story_begins/article/details/147344879  浏览:    关键词:PostgreSQL数据库yum方式安装详解

PostgreSQL数据库yum方式安装

  • 1. 基础环境配置
  • 2. 前期安装准备
  • 3. 软件安装
    • 3.1 YUM方式安装(PG 13)
      • 3.1.1 安装rpm仓库
      • 3.1.2 安装软件包PG13
      • 3.1.3 初始化数据库
      • 3.1.4 启动数据库
      • 3.1.5 开机自启动
      • 3.1.6 编辑环境变量
  • 4. 安装后配置

1. 基础环境配置

2. 前期安装准备

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

3. 软件安装

3.1 YUM方式安装(PG 13)

https://www.postgresql.org/download/linux/redhat/

官方安装步骤

RHEL 7.4 只支持 PG 13 ,PG软件和实例均安装在默认路径中

PG 14 和PG 15 都缺少依赖包,PG 16在RPM仓库中不存在

# Install the repository RPM:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm# Install PostgreSQL:
sudo yum install -y postgresql13-server# Optionally initialize the database and enable automatic start:
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
sudo systemctl enable postgresql-13
sudo systemctl start postgresql-13

3.1.1 安装rpm仓库

[root@pgdb ~]# sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
pgdg-redhat-repo-latest.noarch.rpm                                                                                                                                             |  10 kB  00:00:00     
Examining /var/tmp/yum-root-NuZcd3/pgdg-redhat-repo-latest.noarch.rpm: pgdg-redhat-repo-42.0-38PGDG.noarch
Marking /var/tmp/yum-root-NuZcd3/pgdg-redhat-repo-latest.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package pgdg-redhat-repo.noarch 0:42.0-38PGDG will be installed
--> Finished Dependency ResolutionDependencies Resolved======================================================================================================================================================================================================Package                                        Arch                                 Version                                      Repository                                                     Size
======================================================================================================================================================================================================
Installing:pgdg-redhat-repo                               noarch                               42.0-38PGDG                                  /pgdg-redhat-repo-latest.noarch                                12 kTransaction Summary
======================================================================================================================================================================================================
Install  1 PackageTotal size: 12 k
Installed size: 12 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionInstalling : pgdg-redhat-repo-42.0-38PGDG.noarch                                                                                                                                                1/1 
server                                                                                                                                                                         | 4.1 kB  00:00:00     Verifying  : pgdg-redhat-repo-42.0-38PGDG.noarch                                                                                                                                                1/1 Installed:pgdg-redhat-repo.noarch 0:42.0-38PGDG                                                                                                                                                               Complete!

3.1.2 安装软件包PG13

[root@pgdb ~]# yum install -y postgresql13-server
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package postgresql13-server.x86_64 0:13.20-1PGDG.rhel7 will be installed
--> Processing Dependency: postgresql13-libs(x86-64) = 13.20-1PGDG.rhel7 for package: postgresql13-server-13.20-1PGDG.rhel7.x86_64
--> Processing Dependency: postgresql13(x86-64) = 13.20-1PGDG.rhel7 for package: postgresql13-server-13.20-1PGDG.rhel7.x86_64
--> Processing Dependency: libpq.so.5()(64bit) for package: postgresql13-server-13.20-1PGDG.rhel7.x86_64
--> Running transaction check
---> Package postgresql13.x86_64 0:13.20-1PGDG.rhel7 will be installed
---> Package postgresql13-libs.x86_64 0:13.20-1PGDG.rhel7 will be installed
--> Finished Dependency ResolutionDependencies Resolved======================================================================================================================================================================================================Package                                               Arch                                     Version                                                Repository                                Size
======================================================================================================================================================================================================
Installing:postgresql13-server                                   x86_64                                   13.20-1PGDG.rhel7                                      pgdg13                                   5.3 M
Installing for dependencies:postgresql13                                          x86_64                                   13.20-1PGDG.rhel7                                      pgdg13                                   1.4 Mpostgresql13-libs                                     x86_64                                   13.20-1PGDG.rhel7                                      pgdg13                                   390 kTransaction Summary
======================================================================================================================================================================================================
Install  1 Package (+2 Dependent packages)Total download size: 7.2 M
Installed size: 31 M
Downloading packages:
warning: /var/cache/yum/x86_64/7Server/pgdg13/packages/postgresql13-libs-13.20-1PGDG.rhel7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 73e3b907: NOKEY         ]  67 kB/s | 799 kB  00:01:37 ETA 
Public key for postgresql13-libs-13.20-1PGDG.rhel7.x86_64.rpm is not installed
(1/3): postgresql13-libs-13.20-1PGDG.rhel7.x86_64.rpm                                                                                                                          | 390 kB  00:00:12     
(2/3): postgresql13-13.20-1PGDG.rhel7.x86_64.rpm                                                                                                                               | 1.4 MB  00:00:41     
(3/3): postgresql13-server-13.20-1PGDG.rhel7.x86_64.rpm                                                                                                                        | 5.3 MB  00:01:31     
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                  71 kB/s | 7.2 MB  00:01:43     
Retrieving key from file:///etc/pki/rpm-gpg/PGDG-RPM-GPG-KEY-RHEL7
Importing GPG key 0x73E3B907:Userid     : "PostgreSQL RPM Repository <pgsql-pkg-yum@lists.postgresql.org>"Fingerprint: f245 f0bf 96ac 1827 44ca ff2e 64fa ce11 73e3 b907Package    : pgdg-redhat-repo-42.0-38PGDG.noarch (installed)From       : /etc/pki/rpm-gpg/PGDG-RPM-GPG-KEY-RHEL7
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionInstalling : postgresql13-libs-13.20-1PGDG.rhel7.x86_64                                                                                                                                         1/3 Installing : postgresql13-13.20-1PGDG.rhel7.x86_64                                                                                                                                              2/3 Installing : postgresql13-server-13.20-1PGDG.rhel7.x86_64                                                                                                                                       3/3 Verifying  : postgresql13-libs-13.20-1PGDG.rhel7.x86_64                                                                                                                                         1/3 Verifying  : postgresql13-server-13.20-1PGDG.rhel7.x86_64                                                                                                                                       2/3 Verifying  : postgresql13-13.20-1PGDG.rhel7.x86_64                                                                                                                                              3/3 Installed:postgresql13-server.x86_64 0:13.20-1PGDG.rhel7                                                                                                                                                      Dependency Installed:postgresql13.x86_64 0:13.20-1PGDG.rhel7                                                         postgresql13-libs.x86_64 0:13.20-1PGDG.rhel7                                                        Complete!

3.1.3 初始化数据库

# 初始化数据库
[root@pgdb ~]# sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
Initializing database ... OK

3.1.4 启动数据库

# 启动数据库 
[root@pgdb soft]# sudo systemctl start postgresql-13[postgres@pgdb ~]$ psql --version
psql (PostgreSQL) 13.20

3.1.5 开机自启动

# 开启数据库开启自启动
[root@pgdb ~]# sudo systemctl enable postgresql-13
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-13.service to /usr/lib/systemd/system/postgresql-13.service.# 查看数据库状态
[root@pgdb ~]# systemctl status postgresql-13
● postgresql-13.service - PostgreSQL 13 database serverLoaded: loaded (/usr/lib/systemd/system/postgresql-13.service; enabled; vendor preset: disabled)Active: active (running) since Mon 2025-03-17 23:13:21 CST; 3s agoDocs: https://www.postgresql.org/docs/13/static/Process: 12072 ExecStartPre=/usr/pgsql-13/bin/postgresql-13-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)Main PID: 12078 (postmaster)CGroup: /system.slice/postgresql-13.service├─12078 /usr/pgsql-13/bin/postmaster -D /var/lib/pgsql/13/data/├─12080 postgres: logger ├─12082 postgres: checkpointer ├─12083 postgres: background writer ├─12084 postgres: walwriter ├─12085 postgres: autovacuum launcher ├─12086 postgres: stats collector └─12087 postgres: logical replication launcher Mar 17 23:13:21 pgdb systemd[1]: Starting PostgreSQL 13 database server...
Mar 17 23:13:21 pgdb postmaster[12078]: 2025-03-17 23:13:21.979 CST [12078] LOG:  redirecting log output to logging collector process
Mar 17 23:13:21 pgdb postmaster[12078]: 2025-03-17 23:13:21.979 CST [12078] HINT:  Future log output will appear in directory "log".
Mar 17 23:13:21 pgdb systemd[1]: Started PostgreSQL 13 database server.

3.1.6 编辑环境变量

[postgres@pgdb ~]$ vi .bash_profile 
export PGPORT=5432
export PGDATA=/var/lib/pgsql/13/data/
export LANG=en_US.utf8
export PGHOME=/usr/pgsql-13
export LD_LIBRARY_PATH=$PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
export DATE=`date +"%Y%m%d%H%M"`
export PATH=$PGHOME/bin:$PATH:.
export MANPATH=$PGHOME/share/man:$MANPATH
#export PGHOST=$PGDATA
export PGUSER=postgres
export PGDATABASE=postgres
[postgres@pgdb ~]$ source .bash_profile
[postgres@pgdb ~]$ which pg_ctl
/usr/pgsql-13/bin/pg_ctl

4. 安装后配置

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词