以安装9.6.22(2021-05-10版)为例
准备
服务器配置:
网络:外网联通;防火墙关闭。
资源:CPU:8core,Mem:32GB,HDD:2TB
OS: CentOS 7.8
第一步:下载相关rpm包
打开网页
https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7.6-x86_64/
下载文件(可通过wget获取,存在同一目录下,例如:pg96)
postgresql96-server-9.6.22-1PGDG.rhel7.x86_64.rpm
postgresql96-libs-9.6.22-1PGDG.rhel7.x86_64.rpm
postgresql96-9.6.22-1PGDG.rhel7.x86_64.rpm
postgresql96-contrib-9.6.22-1PGDG.rhel7.x86_64.rpm
注意:
因存在依赖关系,删除时必须按顺序:
# rpm –e postgresql96-contrib-9.6.22-1PGDG.rhel7.x86_64
# rpm –e postgresql96-server-9.6.22-1PGDG.rhel7.x86_64
# rpm –e postgresql96-9.6.22-1PGDG.rhel7.x86_64
# rpm –e postgresql96-libs-9.6.22-1PGDG.rhel7.x86_64
第二步:安装
进入pg96目录,执行命令:
# rpm -ivh postgresql96-*.rpm
安装结束后,检查一下信息:
pgsql安装程序会在 /var 和 /usr 下创建一下文件夹:
- /var/lib/pgsql:用于存放pgsql数据库默认的数据文件夹
- /usr/pgsql-9.6:用于存放pgsql数据库的依赖库、命令以及文档目录等信息
- /var/lib/pgsql/9.6/data:用户存放pgsql默认配置的pg_hba.conf,postgresql.conf的配置文件
第三步:初始化数据库
有以下3种方式:
1. 默认方式
# /usr/pgsql-9.6/bin/postgresql-9.6-setup initdb
2. 手动方式
### 建议:采用下列的命令行方式,指定一些参数
# chown –R postgres /data/pgsql/data
# su postgres
# bash-4.2$/usr/pgsql-9.6/bin/initdb -D /data/pgsql/data/ -E utf8
#### 启动/停止
# bash-4.2$/usr/pgsql-9.6/bin/pg_ctl -D /data/pgsql/data/ -l /data/pgsql/logfile start/stop
##查看
bash-4.2$psql
postgres=#show data_directory;
data_directory
------------------
/data/pgsql/data
(1 row)
3. 配置成服务模式
##修改配置文件/usr/lib/systemd/system/postgresql-9.6.service文件中,字段参数 Environment=PGDATA的值为新的数据路径/data/pgsql/data,然后重启服务
#systemctl restart postgresql-9.6
# su postgres
bash-4.2# psql
postgres=# show data_directory;
………
第四步:修改配置
1. #打开文件【此处为默认路径】
#若通过InitDB指定数据路径的话,则在-D中确定
#vi /var/lib/pgsql/9.6/data/postgresql.conf
#找到 #listen_addresses = 'localhost' 修改为
listen_addresses = '*'
2. #打开文件
#vi /var/lib/pgsql/9.6/data/pg_hba.conf
#找到
# IPv4 local connections:
host all all 127.0.0.1/32 ident
#修改为
# IPv4 local connections:
host all all 0.0.0.0/0 md5
第五步:验证 PostgreSQL是否正常安装
## 先启动postgresql-9.6
# systemctl start postgresql-9.6
#### 停止命令:systemctl stop postgresql-9.6
#### 重启命令:systemctl restart postgresql-9.6
## 登录:
# su postgres
bash-4.2$psql (或者 psql –U postgres)
##查看当前数据库
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(3 rows)
##退出
postgres=#\q
第六步:安装pgaudit插件
#### 先查看 当前有哪些版本
# yum list pgaudit*
#### 如下图
# 选择安装版本
# yum install pgaudit12_10.x86_64