01:PostgreSQL安装

本文档提供了两种在CentOS 7上安装PostgreSQL的方法:二进制安装和源代码安装。二进制安装简单快捷但存在限制,而源代码安装则更加灵活。文中详细阐述了每种安装方法的步骤,包括环境规划、用户和目录配置、数据库初始化,以及服务管理和配置。推荐使用源代码方式进行安装以获取更好的定制性和离线安装体验。
摘要由CSDN通过智能技术生成

环境规划:

  • 操作系统:CentOS 7.9 64bit
  • PostgreSQL 版本:16.x 或 15.x
  • 安装用户:postgres
  • 软件安装目标路径:/usr/pgsql-<version>
  • 数据库数据目录:/pgdata

目录

(不推荐)二进制方式安装PostgreSQL软件

(推荐)源代码方式安装PostgreSQL软件

配置数据库


(不推荐)二进制方式安装PostgreSQL软件

   二进制安装方式为:PostgreSQL官方根据不同的Linux发行版本已经制作好对应的安装包,无需从源码编译。比较简单快捷,但对用户、目录、安装的组件等存在一定限制,不能按需安装。

   不同的发行版本安装方式略有不同,参见:https://www.postgresql.org/download/

   以RedHat/CentOS 7为例,官方安装步骤如下(需联网):

而二进制安装存在以下不足:

  • 二进制安装方式,安装的目标目录默认为/usr/pgsql-<version>目录,难以改变或指定。
  • 二进制安装方式,安装过程中自动创建的postgres用户的主目录不是/home。可能与环境部署规范要求冲突,不统一。
  • 官方提供的步骤存在误导。对于二进制安装方式,某个操作系统发现版本只有指定的PostgreSQL版本,不是所有版本都有。例如,按如上官方说明步骤,在RedHat/CentOS 7上安装PostgreSQL 16,会报“No package postgresql16-server available”。因为官方的二进制版本对RedHat/CentOS 7最高只提供PostgreSQL 15,没有提供PostgreSQL 16版本。
  • 官方步骤中使用的postgresql-<version>-setup脚本比较死,不能改变初始化数据库目录,因此不建议使用。建议使用标准的、可灵活定制的initdb脚本

因此,对以官方二进制步骤进行优化调整并增加注释如下。

1、安装PostgreSQL。需以可sudo的普通用户执行或者root用户执行(需要联网):

#增加yum的repository源
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

#自动从源下载,对RedHat/CentOS 7最高只提供PostgreSQL 15,没有提供PostgreSQL 16版本
#若报缺少依赖libzstd,则从CentOS安装盘或者网络查找对应rpm进行安装(例如:libzstd-1.5.5-1.el7.x86_64.rpm)
#会将PostgreSQL软件安装至/usr/pgsql-<version>目录,同时自动创建操作系统用户postgres
sudo yum install -y postgresql15-server

#以下均在此处均不执行
#由于postgresql-<version>-setup脚本比较死,不能改变初始化数据库目录,因此不建议使用。
#改为使用标准的可灵活定制的initdb脚本,并修改systemctl所用的脚步
#sudo /usr/pgsql-16/bin/postgresql-15-setup initdb
#sudo systemctl enable postgresql-15
#sudo systemctl start postgresql-15

2、对自动创建操作系统用户postgres修改密码(注意:二进制安装过程中自动创建的postgres用户的主目录不是/home)。以root用户执行:

passwd postgres
#按提示设置用户新口令

 3、创建数据库数据存放目录并授权。以root用户执行:

mkdir -p /pgdata
chown -R postgres:postgres /pgdata<
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值