一、注意
1、如果可以的话最好更新一下软件包
yum clean all && yum makecache && yum update -y
2、同步时间,否则会报证书过期错误
先手动调整,否则yum里可能还是会报错(对于那种时间相差很大的系统)
date -s "2020-03-03 10:00:20" && clock -w
然后:
yum install ntp -y
ntpdate -u 0.centos.pool.ntp.org
二、安装
1、Install the repository RPM:
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y
或不用https
yum install http://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y
2、Install the client packages:
yum install postgresql12 -y
3、Optionally install the server packages:
yum install postgresql12-server -y
4、一些工具包、开发包
yum install postgresql12-contrib -y
yum install postgresql12-devel -y
或者一步安装:
yum install postgresql12 postgresql12-server postgresql12-contrib postgresql12-devel -y
5、初始化数据库
1)使用默认路径,适用于单节点
/usr/pgsql-12/bin/postgresql-12-setup initdb
2)指定路径,适用于主从复制
# 数据目录
mkdir -p /app/pgsql/data && chown postgres:postgres /app/pgsql/data;
# 用于归档的目录(主从复制时用) mkdir -p /app/pgsql/pg_archive && chown postgres:postgres /app/pgsql/pg_archive; cd /app/pgsql && chmod 700 data; cd /app/pgsql && chmod 700 pg_archive;
su - postgres
/usr/pgsql-12/bin/initdb -D /app/pgsql/data/
3)修改数据库路径,以root身份
vim /usr/lib/systemd/system/postgresql-12.service
# Location of database directory
Environment=PGDATA=/app/pgsql/data/
6、enable automatic start,以root身份
systemctl enable postgresql-12
systemctl start postgresql-12
7.登录postgresql并设置密码,postgresql在安装时默认添加用户postgres
# su - postgres
psql
ALTER USER postgres WITH PASSWORD '123456';
退出:\q
8、允许远程登录,注:修改红色部分
默认路径时:
1)vi /var/lib/pgsql/12/data/pg_hba.conf
指定路径时:
1)vi /app/pgsql/data/pg_hba.conf
# IPv4 local connections:
host all all 0.0.0.0/0 md5
默认路径时:
2)vi /var/lib/pgsql/12/data/postgresql.conf
指定路径时:
2)vi /app/pgsql/data/postgresql.conf
listen_addresses = '*'
3)重启服务
systemctl restart postgresql-12
netstat -ltpn | grep 5432
4)防火墙
firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --reload