Centos 7 安装PostgreSQL、配置远程连接信任

截止到目前最新版本的PostgreSQL是10。 通过yum可以直接安装。

  1. 安装repository RPM
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
  1. 安装客户端
yum install postgresql10
  1. 安装服务端
yum install postgresql10-server
  1. 初始化数据库
/usr/pgsql-10/bin/postgresql-10-setup initdb
  1. 将postgresql添加到系统服务
systemctl enable postgresql-10
  1. 启动postgresql
systemctl start postgresql-10
  1. 切换用户进入postgresql,并修改密码
su - postgres
alter user postgres with password 'newpassword';

  1. 其他操作 \l 列出所有的数据库 \d 列出所有的表 \du 列出所有的用户 \q 退出

  1. 配置远程连接监听
# 编辑配置文件
vim /var/lib/pgsql/10/data/postgresql.conf
#去掉listen_address和port前面的注释,并叫localhost改成*
#listen_addresses = 'localhost'         # what IP address(es) to listen on;
                                        # comma-separated list of addresses;
                                        # defaults to 'localhost'; use '*' for all
                                        # (change requires restart)
#port = 5432                            # (change requires restart)

  1. 配置远程连接认证
# 编辑vim /var/lib/pgsql/10/data/pg_hba.conf文件,将原来的local和host注释掉,并加入以下内容
local   all             all                                     md5
host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5
host    all             all             0.0.0.0/0               md5

这么做的目的是为了本地或远程连接的时候可以使用密码连接。不会出现认证错误。如“psql: FATAL: Ident authentication failed for user”之类的错误

  1. 重启postgresql
systemctl restart postgresql-10
  1. 创建一个新数据库和新用户,并设置用户权限
# 创建一个testdb数据库
create database testdb;
# 创建一个appadmin用户,并且设置可以创建数据库和登录,并设置密码
create user appadmin createdb login password 'userpassword';
# 将testdb数据库的所有权限赋予给appadmin用户
grant all on database testdb to appadmin;

这一切配置好后就可以使用postgresql客户端远程连接数据库了,这里以pgAdmin 4为例。

本博客采用 知识共享署名-禁止演绎 4.0 国际许可协议 进行许可

本文标题:Centos 7 安装PostgreSQL、配置远程连接信任

本文地址:https://jizhong.plus/post/2018/03/centos7-install-postgresql.html