安装部署PostgreSQL实例(最详细噢,小白推荐)
题外话
PostgreSQL的Slogan是“世界上最先进的开源关系型数据库”。
MySQL的Slogan是“世界上最受欢迎的开源关系型数据库”。
两者都是目前开源关系型数据库的大佬,本文主要介绍PostgreSQL安装部署实践
一、环境介质准备
PostgreSQL包准备
PostgreSQL官方网站下载源码包或者YUM包
https://www.postgresql.org/
配置YUM包:
下载最新的源码包:
https://ftp.postgresql.org/pub/source/v12.3/
PS:可以根据自己的情况,自行选择需要的版本。
服务器准备
我这里使用的是centos 7.x,此方法适用于任何其他linux版本。
二、创建用户postgres
在创建数据库实例之前要做的第一件事是先创建一个独立的操作系统用户,也可以称为本地用户。创建这个用户的目的是为了防止应用软件的bug被攻击者利用,对系统造成破坏。它拥有该数据库实例管理的所有数据,是这个数据库实例的超级用户。通常我们使用postgres作为这个操作系统超级用户的用户名,这个用户将被用来对数据库实例进行start、stop、restart操作。如果使用yum安装,且操作系统中不存在postgres用户,安装程序会自动创建名为postgres的操作系统用户和名为postgres的数据库超级用户,尽管如此任然建议在yum安装之前预先手动创建postgres用户。
注意:出于安全考虑,这个操作系统用户不能是root或具有操作系统管理权限的账号,例如拥有sudo权限的用户。
1)创建用户和用户组:
groupadd postgres
useradd -g postgres postgres
2)如果是部署集群,建议配置NTP服务,统一集群中每个节点的操作系统用户的uid和gid:
groupadd -g 2002 postgres
useradd -g 2002 -u 2002 postgres
id postgres
uid=2002(postgres02) gid=2002(postgres02) groups=2002(postgres02)
3)如果集群中某些节点的数据库操作系统用户的uid和gid与其他节点不一致,可以通过groupmod命令和usermod命令进行修改:
groupmod -g 2000 postgres
usermod -u 2000 -g 2000 postgres
id postgres
uid=2000(postgres) gid=2000(postgres) groups=2000(postgres)
三、程序安装(二选一)
(1)YUM安装
1、官网下载包
https://www.postgresql.org/
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
执行完后,在/etc/yum.repos.d目录中可以看到名称为pgdg-redhat-all.repo的源配置文件