一、安装前置操作
在正式安装之前, 我们需要执行下述的命令:
1、关闭selinux
# 查询SELinux 状态
setenforce 0
# 关闭 SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
cat /etc/selinux/config
2、关闭防火墙
# 查看防火墙的状态
systemctl status firewalld.service
# 临时关闭
systemctl stop firewalld.service
# 永久关闭
systemctl disable firewalld.service
3、关闭 NetworkManager 网卡
# 临时关闭
systemctl stop NetworkManager
# 永久关闭
systemctl disable NetworkManager
4、创建用户组和创建用户(后续会用到)
注:建议组的ID 和用户的ID 一致,方便以后搭建集群。
# 创建组
groupadd -g 1001 postgres
#创建用户
useradd -u 1001 -g 1000 postgres
二、开始安装
1、进入官网的下载界面
2、选择Postgres Sql 版本和系统内核
3、开始安装
执行上述内容的 “4、复制并执行下述内容” 内容, 并执行。(注:初始化数据库的操作暂时不执行, 放在后续设置完环境变量之后在执行)
# 安装存储库RPM:
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 禁用内置PostgreSQL模块:
sudo dnf -qy module disable postgresql
# 安装 PostgreSQL:
sudo dnf install -y postgresql14-server
4、修改环境变量
# 1、进入到Postgres SQL 安装地址(版本不一样,地址会有差别, 自己ls 一下即可)
[root@TR ~]# cd /usr/pgsql-14/
[root@TR pgsql-14]# ll
total 12
drwxr-xr-x 2 root root 4096 Jul 27 18:13 bin
drwxr-xr-x 3 root root 4096 Jul 27 18:13 lib
drwxr-xr-x 7 root root 4096 Jul 27 18:13 share
# 2、配置环境变量
[root@TR pgsql-14]# vi /etc/profile
# 2.1、在profile 的最后一行增加下述变量(注:‘pgsql-14’是第一步查询的安装路径, 不同版本不一样)
export PATH=/usr/pgsql-14/bin:$PATH
export PGDATA=/usr/pgsql-14/data
# 3、重新执行profile , 使其修改生效
[root@TR pgsql-14]# source /etc/profile
5、初始化数据库
# 初始化数据库并启用自动启动:
# 初始化之后的文件路径在 /var/lib/pgsql/14/data/ 下
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
sudo systemctl enable postgresql-14
sudo systemctl start postgresql-14
6、测试
# 切换用户
[root@TR data]# su - postgres
[postgres@TR ~]$
# 登录数据库
[postgres@TR ~]$ psql
psql (14.4)
Type "help" for help.
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+-----------------------
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
template0 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
(3 rows)
postgres=#