截止到目前最新版本的PostgreSQL是10。 通过yum可以直接安装。
- 安装repository RPM
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
- 安装客户端
yum install postgresql10
- 安装服务端
yum install postgresql10-server
- 初始化数据库
/usr/pgsql-10/bin/postgresql-10-setup initdb
- 将postgresql添加到系统服务
systemctl enable postgresql-10
- 启动postgresql
systemctl start postgresql-10
- 切换用户进入postgresql,并修改密码
su - postgres
alter user postgres with password 'newpassword';
- 其他操作 \l 列出所有的数据库 \d 列出所有的表 \du 列出所有的用户 \q 退出
- 配置远程连接监听
# 编辑配置文件
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)
- 配置远程连接认证
# 编辑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”之类的错误
- 重启postgresql
systemctl restart postgresql-10
- 创建一个新数据库和新用户,并设置用户权限
# 创建一个testdb数据库
create database testdb;
# 创建一个appadmin用户,并且设置可以创建数据库和登录,并设置密码
create user appadmin createdb login password 'userpassword';
# 将testdb数据库的所有权限赋予给appadmin用户
grant all on database testdb to appadmin;
这一切配置好后就可以使用postgresql客户端远程连接数据库了,这里以pgAdmin 4为例。