当前位置:   article > 正文

Linux centos7 在线及离线安装postgresql12 详细教程_centos7安装pg

centos7安装pg

目录

一、在线安装

1、配置yum源

2、安装PostgreSQL

3、初始化PostgreSQL

4、启动PostgreSQL服务

5、修改密码

6、配置远程访问

7、关闭防火墙

8、全关完后,navicat测试

二、离线安装

1、官网找到对应的版本,下好包上传到内网的机器上

2、安装PostgreSQL

3、修改路径

4、初始化PostgreSQL

5、启动PostgreSQL服务

6、修改密码

7、配置远程访问

8、关闭防火墙

9、全关完后,navicat测试


一、在线安装

官网找到对应的版本

PostgreSQL: The world's most advanced open source database

249da16ff99e4a3b89be33de0c66e8ca.pnga288aaa60af74c2596a500aea79cf92c.png6be21170edc54432bc87590383255be9.png

1、配置yum源

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

640a69bffb644998b8f7cdd16188087b.png

2、安装PostgreSQL

sudo yum install -y postgresql12-server

安装完成后,查看一下配置路径,后面修改配置文件在该路径下

/usr/lib/systemd/system/postgresql-12.service

(PostgreSQL有两个重要的配置文件:postgresql.conf和pg_hba.conf就在此路径下,此路径可修改,一般只在实际使用环境才修改)

这里就用默认路径,不做修改,后面离线安装时,我再修改成指定路径

5ff528c83b004881838b5a1daa688fa0.png

3、初始化PostgreSQL

sudo /usr/pgsql-12/bin/postgresql-12-setup initdb

8eb23792233e401ab29fcbbea95cc6e6.png

4、启动PostgreSQL服务

  1. #设置开机自启动
  2. sudo systemctl enable postgresql-12
  3. #启动PostgreSQL服务
  4. sudo systemctl start postgresql-12

9355585d836042f989c1d505b585d3a3.png

5、修改密码

  1. #切换用户,postgressql安装时会自启创建postgres用户
  2. su - postgres
  3. #进入数据库
  4. psql
  5. #修改密码
  6. alter user postgres with password 'postgres';

f5745403e0d7490d845735f5363cb084.png

6、配置远程访问

  1. #进入该postgresql.conf文件中修改一下
  2. vi /var/lib/pgsql/12/data/postgresql.conf
  3. ​#listen_addresses = '*' 表示监听所有的ip信息(记得去掉#)
  4. #​port = 5432 表示服务的端口,可以自定义为其他端口(记得去掉#)
  5. #/ 后面加要匹配的内容

1cfbaa4c4b274dbb97d3da59af9832cc.png5f80a59519554cd5bc7a597980c58086.png

  1. #进入该pg_hba.conf文件中修改一下
  2. vi /var/lib/pgsql/12/data/pg_hba.conf
  3. #在最下面添加
  4. host all all 0.0.0.0/0 md5
  5. #修改完成,需要重启服务才生效
  6. systemctl restart postgresql-12

修改允许访问的IP(以下配置允许所有的IP访问)

TYPEDATABASEUSERADDRESSMETHOD
hostallall0.0.0.0/0md5

ef2204a506944a3f96c6019c9110bf1d.png

7、关闭防火墙

  1. systemctl stop firewalld
  2. systemctl disable firewalld
  3. setenforce 0
  4. #关闭并禁用 NetworkManager
  5. systemctl stop NetworkManager
  6. systemctl disable NetworkManager
  7. #重启网络服务
  8. systemctl restart network

8、全关完后,navicat测试

51fb2fd999554b5d86862671216a90bd.png

二、离线安装

1、官网找到对应的版本,下好包上传到内网的机器上

也可以用我已经准备好的包

链接:https://pan.baidu.com/s/1YbIQUXDybh3ANqyB1zjHVg?pwd=erty 
提取码:erty

PostgreSQL: The world's most advanced open source database

888ced1566134adeaf7c73ccf12654fe.png

c9c26e268ba14fb4805696c150a5f28f.png

进入后滑到最下面 2e7716d9538f4b5298dc336d8f00c841.png

找到需要的版本43883e5ba93344b9afa25821f1f4babf.png206ea70717bd4258b62f3d207f57103c.png

下载这四个,下载的小版本号要一样的 96402fa95a184a3db70c128be86ec0aa.png

8dfd7ede703e4f35bcb93c2d582d1f93.png

下载完成后,上传到内网的服务器

ff666a282a994abf9c34ec53fbb135fb.png

2、安装PostgreSQL

rpm的安装顺序,注意一定要按照顺序,否则安装失败

82cf591083ba4e36b4eb31cc4e663e13.png

  1. rpm -ivh postgresql12-libs-12.15-1PGDG.rhel7.x86_64.rpm
  2. rpm -ivh postgresql12-12.15-1PGDG.rhel7.x86_64.rpm

安装 postgresql12-12.15-1PGDG.rhel7.x86_64.rpm 失败,执行依赖缺失

00614cf31f5a4917b18252fd76562475.png

因为是在内网,无法直接下载安装依赖,所以要在外网的机器上下好包后传到内网服务器上

  1. #在外网的机器上执行,下载暂不安装
  2. yum install --downloadonly --downloaddir=/pg12_rpm libicu

6855f066479d4ac484d327591782b63e.png

将该包上传到内网服务器上,上传后,到包所在的文件夹下安装

yum install -y libicu-50.2-4.el7_7.x86_64.rpm

安装完成后,重新安装postgresql12-12.15-1PGDG.rhel7.x86_64.rpm,按顺序安装

  1. rpm -ivh postgresql12-12.15-1PGDG.rhel7.x86_64.rpm
  2. rpm -ivh postgresql12-server-12.15-1PGDG.rhel7.x86_64.rpm
  3. rpm -ivh postgresql12-contrib-12.15-1PGDG.rhel7.x86_64.rpm
  4. #注:如果有其他包也报依赖缺失,也是按上面的教程补全依赖

3、修改路径

在内网的,一般都是实际使用环境,有时会需要修改路径,所以我演示一下,不用的可跳过此项,直接初始化PostgreSQL即可

  1. #创建自定义目录
  2. mkdir /pgsqldata

d2b0769ca730486383fc1ebdb04309de.png

  1. #修改所属用户和用户组
  2. chown postgres:postgres –R /pgsqldata
  3. chmod -R 700 /pgsqldata
  4. #配置PostgreSQL库自定义目录,在该路径下的/usr/lib/systemd/system/postgresql-12.service文件中修改
  5. vi /usr/lib/systemd/system/postgresql-12.service
  6. #修改后执行
  7. systemctl daemon-reload

dd16177ae3544be88041340aa8a2b632.png

4、初始化PostgreSQL

sudo /usr/pgsql-12/bin/postgresql-12-setup initdb

57942eb98da24ac0ba36041638a42ef0.png

5、启动PostgreSQL服务

  1. #设置开机自启动
  2. sudo systemctl enable postgresql-12
  3. #启动PostgreSQL服务
  4. sudo systemctl start postgresql-12

6、修改密码

  1. #切换用户,postgressql安装时会自启创建postgres用户
  2. su - postgres
  3. #进入数据库
  4. psql
  5. #修改密码
  6. alter user postgres with password 'postgres';

83f2f26cb3ba4a1289ad65fd7d3e45af.png

7、配置远程访问

  1. #配置文件postgresql.conf,在自定义的目录/pgsqldata下,进文件中修改一下
  2. vi /pgsqldata/postgresql.conf
  3. ​#listen_addresses = '*' 表示监听所有的ip信息(记得去掉#)
  4. #port = 5432 表示服务的端口,可以自定义为其他端口(记得去掉#)
  5. #/ 后面加要匹配的内容

0c89ade126a04c6f9661a23ae6ebf091.png

  1. #配置文件pg_hba.conf,在自定义的目录/pgsqldata下,进文件中修改一下
  2. vi /pgsqldata/pg_hba.conf
  3. #在最下面添加
  4. host all all 0.0.0.0/0 md5
  5. #修改完成,需要重启服务才生效
  6. systemctl restart postgresql-12

7a40afb4463b445f83b9f46879607774.png

8、关闭防火墙

  1. systemctl stop firewalld
  2. systemctl disable firewalld
  3. setenforce 0
  4. #关闭并禁用 NetworkManager
  5. systemctl stop NetworkManager
  6. systemctl disable NetworkManager
  7. #重启网络服务
  8. systemctl restart network

9、全关完后,navicat测试

1c3961ec99ec4d01b2856487cd62221b.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/410466
推荐阅读
相关标签
  

闽ICP备14008679号