CentOS7安装 PostgreSQL11

1 安装准备

  • PostgreSQL官网
  • PostgreSQL下载
  • Red Hat系列Linux下载
    Red Hat系列Linux下载包括
    · Red Hat Enterprise Linux
    · CentOS
    · Fedora
    · Scientific Linux
    · Oracle Linux

2 安装PostgreSQL

进入Red Hat系列Linux下载 进行PostgreSQL Yum Repository安装。
PostgreSQL Yum Repository 当前支持的平台:

  • Red Hat Enterprise Linux
  • CentOS
  • Scientific Linux
  • Oracle Linux
  • Fedora*
    注意:由于Fedora支持周期比较短,PostgreSQL所有版本在Fedora上不可用。不建议在Fedora上部署PostgreSQL。

2.1 Yum安装过程

按照以下图中的顺序执行7步:


CentOS7安装 PostgreSQL11_第1张图片
yum安装PostgreSQL过程

执行命令顺序:

  • 安装PostgreSQL repository RPM
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  • 安装PostgreSQL的客户端
yum install postgresql11
  • 安装PostgreSQL的服务器端
yum install postgresql11-server
  • [可选]初始化数据库并配置自动启动PostgreSQL服务端
/usr/pgsql-11/bin/postgresql-11-setup initdb
systemctl enable postgresql-11
systemctl start postgresql-11

2.2 PostgreSQL客户端访问数据库

打开Terminal,

# su - postgres
Last login: Fri Aug  9 11:05:13 CST 2019 on pts/1
-bash-4.2$ psql -U postgres
psql (11.5)
Type "help" for help.

postgres=#ALTER USER postgres with encrypted password 'postgres';
ALTER ROLE
postgres=# \q
-bash-4.2$ exit
logout

2.3 远程访问PostgreSQL

2.3.1 防火墙开通PostgreSQL端口

PostgreSQL服务器的默认端口是5432,如果已经启动了防火墙,需要打开防火墙才能访问。

firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports

2.3.2 修改配置文件允许远程访问

  • 修改配置文件/var/lib/pgsql/11/data/postgresql.conf
    修改要监听的IP地址listen_addresses的值。listen_addresses值以逗号,分隔的地址列表,默认为'localhost',只能本地访问。要对所有人开放,使用'*'
> vim /var/lib/pgsql/11/data/postgresql.conf
# 找到listen_addresses修改为:'*'
listen_addresses = '*'
  • 修改配置文件vim /var/lib/pgsql/11/data/pg_hba.conf
    新增接收所有的客户端访问:
> vim /var/lib/pgsql/11/data/pg_hba.conf
# 新增一行 host    all             all             0.0.0.0/0               md5
host    all             all             0.0.0.0/0               md5

2.3.3 重启数据库

> systemctl restart postgresql-11

3 创建新用户并授权

postgres=# create user pg8 identified by 'pg_password';
postgres=# create role pg8 login password 'pg_password' valid until 'infinity';
postgres=# create database db1;
postgres=# grant all privileges on database db1 to pg8;

参考

  1. Linux downloads (Red Hat family)
  2. 在 CentOS 7 1801 中安装 PostgreSQL-11

你可能感兴趣的:(CentOS7安装 PostgreSQL11)