虚拟化容器,大数据,DBA,中间件,监控。

centos7安装PostgreSQL12

17 12月
作者:admin|分类:DBA运维

一.安装源

安装源地址: https://yum.postgresql.org/repopackages.php

根据如下地址确定适用的版本https://yum.postgresql.org/findingdistro.php

[root@izm5e2q95pbpe1hh0kkwoiz ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core) 
[root@izm5e2q95pbpe1hh0kkwoiz ~]# uname -m
x86_64

找到合适的版本

]

这里我选择centos7-x86 64 右键 复制链接。

在centos系统中执行

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y

二.安装PostgreSQL

先查看postgresql源

yum list | grep postgresql

我们需要安装的是这两个。postgresql12-contrib postgresql12-server

yum install postgresql12-contrib postgresql12-server -y

三.初始化数据库

Postgresql安装目录是/usr/pgsql-12,而Postgresql的数据目录是/var/lib/pgsql/版本号/data目录

在这里,如果在装系统开始分配var空间足够大则可以继续,如果分配var空间不够,我们需要更改数据目录,在这里,我们假设var空间足够大。直接开始初始化。

# 运行命令
/usr/pgsql-12/bin/postgresql-12-setup initdb

[root@izm5e2q95pbpe1hh0kkwoiz bin]# cd /
[root@izm5e2q95pbpe1hh0kkwoiz /]# /usr/pgsql-12/bin/postgresql-12-setup initdb
Initializing database ... OK

上面的Initializing database ... OK显示初始化成功

四.启动数据库并设置开机启动

sudo systemctl start postgresql-12
sudo systemctl enable postgresql-12.service


[root@izm5e2q95pbpe1hh0kkwoiz bin]# systemctl start postgresql-12
[root@izm5e2q95pbpe1hh0kkwoiz bin]# systemctl enable postgresql-12.service
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-12.service to /usr/lib/systemd/system/postgresql-12.service.

五.登录postgresql并设置密码

postgresql在安装时默认添加用户postgres

输入

[root@izm5e2q95pbpe1hh0kkwoiz bin]# su - postgres
上一次登录:日 6月 14 16:05:25 CST 2020pts/0 上
-bash-4.2$ psql
psql (12.3)
Type "help" for help.
# 进入数据库
postgres=#

我们来设置密码:

# 模板
ALTER USER postgres WITH PASSWORD '密码';

postgres=# alter user postgres with password '0000000';
ALTER ROLE
postgres=#

退出:

\q

备注其他:列出所有库\l  列出所有用户\du 列出库下所有表\d

六默认情况下postgresql是不用密码不支持远程登录的。

修改配置文件需要密码登录

# 配置文件地址
vi /var/lib/pgsql/12/data/pg_hba.conf

原来的配置文件

修改之后的配置文件

保存退出

配置可以远程登录

配置文件位置:

vi /var/lib/pgsql/12/data/postgresql.conf

配置文件原来的样子

修改之后的样子

重启postgresql

# 配置需要密码
[root@izm5e2q95pbpe1hh0kkwoiz /]# vim /var/lib/pgsql/12/data/pg_hba.conf 
# 配置可以远程登录
[root@izm5e2q95pbpe1hh0kkwoiz /]# vim /var/lib/pgsql/12/data/postgresql.conf 
# 重启postgresql
[root@izm5e2q95pbpe1hh0kkwoiz /]# systemctl restart postgresql-12

七.登录postgresql

[root@izm5e2q95pbpe1hh0kkwoiz /]# su - postgres
上一次登录:日 6月 14 16:05:57 CST 2020pts/0 上
-bash-4.2$ psql
# 已经需要密码登录
Password for user postgres: 
psql (12.3)
Type "help" for help.

postgres=#

八.远程连接数据库

九.我们测试创建数据库及创建用户

创建数据库

CREATE DATABASE jeecg_boot;

创建用户

CREATE USER leader CREATEDB LOGIN PASSWORD 'leader666';

将testdb所有权限赋予testuser用户

GRANT ALL ON DATABASE jeecg_boot TO leader;

十.删除数据库及测试用户

删除数据库

drop database jeecg_boot;

删除用户

drop role leader;

注意事项

Navicat11版本链接PostgreSQL12会报错.ERROR column c.relhasoids does not exist

Navicat12.1版本链接PostgreSQL12会看不到表

Navicat15可以正常链接PostgreSQL12

站在巨人肩膀上摘苹果

https://blog.csdn.net/rudy5348/article/details/79299162

浏览640 评论0
返回
目录
返回
首页
postgresql 安全问题的认识 PostgreSQL的数据类型