>在 CentOS7 上安装 PostgreSQL
><br>
>最近需要在物理机上安装数据库,粗略记录一下,感谢同事的协助。
# 一、创建 postgres 用户
```
useradd postgres
修改密码
passwd postgres
```
# 二、rpm安装
```
# rpm文件的下载地址:https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/
# 下载以下几个rpm包并安装
rpm -ivh libicu-50.2-4.el7_7.x86_64.rpm
rpm -ivh postgresql11-libs-11.14-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql11-11.14-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql11-server-11.14-1PGDG.rhel7.x86_64.rpm
```
>找不到 `libicu-50.2-4.el7_7.x86_64.rpm` 可以到 [这个链接](https://centos.pkgs.org/7/centos-x86_64/libicu-50.2-4.el7_7.x86_64.rpm.html) 进行下载
# 三、创建相关目录
```
# 创建相关目录,修改目录用户和属组
mkdir -p /data/pgsql/11/
chown postgres:postgres /data/pgsql/ -R
```
# 四、修改postgresql的数据目录
```
vi /usr/lib/systemd/system/postgresql-11.service
# 修改该行:Environment=PGDATA=
Environment=PGDATA=/data/pgsql/11/data/
# 修改后,重载 postgresql-11.service
systemctl daemon-reload
```
# 五、postgresql初始化
```
/usr/pgsql-11/bin/postgresql-11-setup initdb
```
# 六、修改配置文件 postgresql.conf
```
vi /data/pgsql/11/data/postgresql.conf
# 找到以下配置项,进行修改
listen_addresses = '*'
max_connections = 1000
```
# 七、修改配置文件 pg_hba.conf
```
vi /data/pgsql/11/data/pg_hba.conf
# 在最后增加
host all all 0.0.0.0/0 md5
```
# 八、启动postgresql
```
# 启动
systemctl start postgresql-11
```
# 九、修改postgres用户的密码
```
# 登录pg
su - postgres
psql
# 修改postgres用户的密码
\password
```
# 十、防火墙开放端口
```
firewall-cmd --permanent --zone=public --add-port=5432/tcp
firewall-cmd --permanent --zone=public --add-port=5432/udp
firewall-cmd --reload
```

CentOS7 PostgreSQL安装