1.卸载PostgreSQL
检查pg是否已经安装,如果安装了可以通过rpm -ev xxx进行删除
rpm -qa | grep postgres
检查pg安装位置,之后手动删除文件夹
2.创建postgres用户组
useradd postgres
passwd postgres
设置初始密码为postgres
3.下载rpm安装包(无网环境)
下载网址:https://yum.postgresql.org/rpmchart.php
rpm包:
依赖库: postgresql10-libs-10.9-1PGDG.rhel7.x86_64.rpm
贡献源文件和二进制文件: postgresql10-contrib-10.9-1PGDG.rhel7.x86_64.rpm
客户端: postgresql10-10.9-1PGDG.rhel7.x86_64.rpm
服务端: postgresql10-server-10.9-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql10-libs-10.9-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql10-contrib-10.9-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql10-10.9-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql10-server-10.9-1PGDG.rhel7.x86_64.rpm
4.有网环境
# 更新RPM源
yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
# 通过yum安装PostgreSQL客户端
yum -y install postgresql10-libs
yum -y install postgresql10
yum -y install postgresql10-contrib
yum -y install postgresql10-server
#查看postgresql源
yum list |grep postgresql
5.初始化pg
/usr/pgsql-10/bin/postgresql-10-setup initdb
postsql安装完成的默认物理目录的位置
# postgresql命令目录
/usr/pgsql-10/bin/
# postgresql默认的存放数据目录,可以自定义
/var/lib/pgsql/10/data
PS:如果想要在初始化的时候自定义数据目录
# 使用root用户
systemctl edit postgresql-10.service
# 编辑内容
[Service]
Environment=PGDATA=/dbdata/postgresql/data
# 自定义配置在/etc/systemd/system/postgresql-10.service.d/override.conf
cat /etc/systemd/system/postgresql-10.service.d/override.conf
# 重新加载系统
systemctl daemon-reload
# 设置目录权限
chown postgres:postgres /dbdata/postgresql/data
# 初始化
/usr/pgsql-10/bin/postgresql-10-setup initdb
初始化成功结果如下图:
6.设置开机启动pg
systemctl enable postgresql-10.service
systemctl start postgresql-10.service
7.修改用户名密码
su - postgres
psql
# 设置postgres用户密码
ALTER USER postgres WITH PASSWORD '密码';
# 退出
\q
8.远程连接配置
# 修改pg_hba.conf配置文件
vi /dbdata/postgresql/data/pg_hba.conf
添加:
host all all 0.0.0.0/0 md5
# 开启远程访问,修改postgresql.conf配置文件
vi /dbdata/postgresql/data/postgresql.conf
添加:
listen_addresses='*'
# 开放postgresql服务
firewall-cmd –add-service=postgresql –permanent
# 重载防火墙
firewall-cmd –reload
# 重启pg服务
systemctl restart postgresql-10
# 或者使用pg自带的命令
su - postgres
pg_ctl restart
9.修改环境变量
su - postgres
vi .bash_profile
PGDATA=/dbdata/postgresql/data/
PGHOME=/usr/pgsql-10
export PGDATA
export PGHOME
export PATH=$PATH:$PGHOME/bin
# 生效
source .bash_profile