一、在线安装
官网找到对应的版本
PostgreSQL: https://www.postgresql.org/
1.配置yum源
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2.在线安装PostgreSQL
sudo yum install -y postgresql12-server
安装完成后,查看一下配置路径,后面修改配置文件在该路径下
(PostgreSQL有两个重要的配置文件:postgresql.conf和pg_hba.conf就在此路径下,此路径可修改,一般只在实际使用环境才修改)
这里就用默认路径,不做修改,后面离线安装时,我再修改成指定路径
3.初始化PostgreSQL
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
4.启动PostgreSQL服务
#设置开机自启动
sudo systemctl enable postgresql-12
#启动PostgreSQL服务
sudo systemctl start postgresql-12
5.修改密码
#切换用户,postgressql安装时会自启创建postgres用户
su - postgres
#进入数据库
psql
#修改密码
alter user postgres with password 'postgres';
6.配置远程访问
#进入该postgresql.conf文件中修改一下
vi /var/lib/pgsql/12/data/postgresql.conf
#listen_addresses = '*' #表示监听所有的ip信息(记得去掉#)
#port = 5432 #表示服务的端口,可以自定义为其他端口
#进入该pg_hba.conf文件中修改一下
vi /var/lib/pgsql/12/data/pg_hba.conf
#在最下面添加西面一行内容:
host all all 0.0.0.0/0 md5
修改允许访问的IP(以下配置允许所有的IP访问)
TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/0 md5
#修改完成,需要重启服务才生效
systemctl restart postgresql-12
7.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#关闭并禁用 NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
#重启网络服务
systemctl restart network
8.Navicat测试
二、离线安装
1.下载软件包
PostgreSQL: https://www.postgresql.org/
进入后滑到最下面
找到需要的版本
下载这四个,下载的小版本号要一样的
下载完成后,上传到内网的服务器。
2.安装PostgreSQL
rpm的安装顺序,注意一定要按照顺序,否则安装失败
rpm -ivh postgresql12-libs-12.15-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-12.15-1PGDG.rhel7.x86_64.rpm
安装 postgresql12-12.15-1PGDG.rhel7.x86_64.rpm 失败,执行依赖缺失
因为是在内网,无法直接下载安装依赖,所以要在外网的机器上下好包后传到内网服务器上
#在外网的机器上执行,下载暂不安装
yum install --downloadonly --downloaddir=/pg12_rpm libicu
将该包上传到内网服务器上,上传后,到包所在的文件夹下安装
rpm -ivh libicu-50.2-4.el7_7.x86_64.rpm
安装完成后,重新安装postgresql12-12.15-1PGDG.rhel7.x86_64.rpm,按顺序安装
rpm -ivh postgresql12-12.15-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-server-12.15-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-contrib-12.15-1PGDG.rhel7.x86_64.rpm
安装 postgresql12-contrib-12.15-1PGDG.rhel7.x86_64.rpm 失败,执行依赖缺失
error:Failed dependencies:
libxslt.sn.1()(64bit) is needed by.postgresql12-contrib-12.4-1PGDG.rhel7.x06_64
libxslt.so.1(LIBL2_1.0.11)(64bit) is needed by.postgresq112-contrb-12.4-1PGDG.rhe17.x00_04
libxslt.so.1(LIBXML2_1.0.18)(64bit) is needed by postgresq112-contrib-12.4-1PGDG.rhe17.x0_b4
libxslt.so.1(LIBXL2_1.0.22)(64bit) is needed by postgresq112-contrib-12.4-1PGDG.rhel7.x0b_64
下载libxslt-1.1.28-6.el7.x86_64.rpm,然后上传到服务器上。
rpm -ivh libxslt-1.1.28-6.el7.x86_64.rpm
然后再重新安装postgresql12-contrib-12.15-1PGDG.rhel7.x86_64.rpm。
#注:如果有其他包也报依赖缺失,也是按上面的教程补全依赖
3.修改数据存储路径
在内网的,一般都是实际使用环境,有时会需要修改路径,所以我演示一下,不用的可跳过此项,直接初始化PostgreSQL即可
#创建自定义目录
mkdir /pgsqldata
#修改所属用户和用户组
chown postgres:postgres -R /pgsqldata ;
Chmod -R 700 /pgsqldata ;
#配置PostgreSQL库自定义目录,在该路径下的/usr/lib/systemd/system/postgresql-12.service文件中修改
vi /usr/lib/systemd/system/postgresql-12.service
#修改后执行
systemctl daemon-reload
4.初始化PostgreSQL
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
5.启动PostgreSQL服务
#设置开机自启动
sudo systemctl enable postgresql-12
#启动PostgreSQL服务
sudo systemctl start postgresql-12
6.修改密码
#切换用户,postgressql安装时会自启创建postgres用户
su - postgres
#进入数据库
psql
#修改密码
alter user postgres with password 'postgres';
7.配置远程访问
#配置文件postgresql.conf,在自定义的目录/pgsqldata下,进文件中修改一下
vi /pgsqldata/postgresql.conf
#listen_addresses = '*' #表示监听所有的ip信息
#port = 5432 #表示服务的端口,可以自定义为其他端口
#/ 后面加要匹配的内容
#配置文件pg_hba.conf,在自定义的目录/pgsqldata下,进文件中修改一下
vi /pgsqldata/pg_hba.conf
#在最下面添加下面一行内容
host all all 0.0.0.0/0 md5
#修改完成,需要重启服务才生效
systemctl restart postgresql-12
8.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#关闭并禁用 NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
#重启网络服务
systemctl restart network
9.Navicat测试
标签:12,postgresql,离线,postgresql12,systemctl,64,Linux,rpm From: https://www.cnblogs.com/yeyuzhuanjia/p/17638418.html