[转]centos7 安装最新版postgresql12

以下教程来自于https://blog.csdn.net/rudy5348/article/details/79299162

从PostgreSQL9.3起就内置了JSON数据类型,而9.4又开始支持JSONB,这标志着PostgreSQL实际上已经是一个关系型数据库和NoSQL数据库的结合体了、

虽然postgresql是一个关系型数据库,但是近几次更新PostgreSQL的NoSQL性能甚至超过了MongoDB。

现在开始安装。

1:更新源 https://yum.postgresql.org/repopackages.php

[转]centos7 安装最新版postgresql12_第1张图片
1.jpg

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

2:安装postgres

先查看postgresql源 yum list | grep postgresql


[转]centos7 安装最新版postgresql12_第2张图片
2.png

yum install postgresql12-contrib postgresql12-server -y

image

3:初始化数据库

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

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

/usr/pgsql-10/bin/postgresql-10-setup initdb

4.设置开机启动

sudo systemctl start postgresql-10

sudo systemctl enable postgresql-10.service

5.登录postgresql并设置密码

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

输入

su - postgres
psql

我们来设置密码:

ALTER USER postgres WITH PASSWORD '密码';


退出:\q

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

5.默认情况下postgresql是不用密码不支持远程登录的。我们需要修改配置文件

vi /var/lib/pgsql/10/data/pg_hba.conf修改前
[转]centos7 安装最新版postgresql12_第3张图片
6.png

修改后

[转]centos7 安装最新版postgresql12_第4张图片
7.png

保存退出

我们改远程访问

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

修改成

[转]centos7 安装最新版postgresql12_第5张图片
8.png

重启postgresql

systemctl restart postgresql-10登录su - postgres psql6.

我们用pgadmin进行验证连接

[转]centos7 安装最新版postgresql12_第6张图片
9.png

输入相关信息

[转]centos7 安装最新版postgresql12_第7张图片
image

但是报错,后发现阿里云需要自定义配置安全策略,登录ECS控制台(https://ecs.console.aliyun.com),添加一下策略,搞定。

具体可以参考https://help.aliyun.com/knowledge_detail/59367.html?spm=a2c4e.11153987.0.0.72e21d39u6SDtZ#centos

image
[转]centos7 安装最新版postgresql12_第8张图片
image

7:测试创建数据库及创建用户

因为postgres属于superuser,我们需要创建部分低权限用户

[转]centos7 安装最新版postgresql12_第9张图片
image

直接在query tools下敲命令就行了,不用再跑putty上登录运行postgres,麻烦。

创建数据库

CREATE DATABASE testdb;

创建用户

CREATE USER testuser CREATEDB LOGIN PASSWORD 'testpassword';

将testdb所有权限赋给用户testuser

GRANT ALL ON DATABASE testdb TO testuser;

删除数据库

drop database testdb;

删除用户

drop role testuser;

你可能感兴趣的:([转]centos7 安装最新版postgresql12)