CentOS7安装 PostgreSQL11
2019-08-15 本文已影响0人
Jerry_1116
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步:
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;