Centos7安装配置postgresql12数据库


0,添加postgresql12源

1
2
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y
yum makecache

1,安装postgresql12服务端

1
yum install postgresql12-contrib.x86_64 postgresql12-server.x86_64 -y

2,初始化数据库目录

Postgresql安装目录是/usr/pgsql-12,而Postgresql的数据目录是/var/lib/pgsql/12/data,如果安装主机的/var目录不够大的话,请自行修改数据目录.

1
2
[[email protected] ~]# /usr/pgsql-12/bin/postgresql-12-setup initdb
Initializing database ... OK

3,启动数据库并加入开机自启

1
2
systemctl start postgresql-12
systemctl enable postgresql-12.service

4,登录psql并设置密码

1
2
3
4
5
6
7
[[email protected] ~]# su - postgres 
-bash-4.2$ psql
psql (12.1)
Type "help" for help.

postgres=# alter user postgres with password '1q2w3e4r';
ALTER ROLE

5,修改配置文件使其支持密码并支持远程登录

1
vim /var/lib/pgsql/12/data/pg_hba.conf

直接拉到底部,然后按照需求修改
Snipaste_2019-11-28_20-59-59.png

1
vim /var/lib/pgsql/12/data/postgresql.conf

这个修改监听的ip和端口,大概在60行左右
Snipaste_2019-11-29_11-54-58.png

6,修改好之后重启服务

1
systemctl restart postgresql-12.service

7,使用密码的方式登录到数据库

1
2
3
4
5
6
7
[[email protected] ~]# psql -U postgres    //*-U 指定登录用户 -h 指定登录主机 -d 指定数据库
Password for user postgres: //*询问密码验证
psql (12.1)
Type "help" for help.

postgres=# \q //*成功登录到数据库
[[email protected] ~]#

8,创建用户并授权

1
2
3
4
5
6
postgres=# create database stark;                      //*创建stark测试数据库
CREATE DATABASE
postgres=# create user stark with password 'abc-123'; //*创建stark用户,密码设置为'abc-123'
CREATE ROLE
postgres=# grant all on database stark to stark; //*授权stark用户对数据库的操作
GRANT

9,使用stark用户远程登录到数据库验证是否生效

Snipaste_2019-11-29_12-08-03.png
Snipaste_2019-11-29_12-09-11.png
可以看到已经成功连接了,并显示了刚才创建的stark数据库