CentOS 7 安装 PostgreSQL 11

568 阅读3分钟

官网

image.png
口号: PostgreSQL:世界上最先进的开源关系数据库

######环境

京东云 CentOS 7.6 PostgreSQL 11

PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引。免费使用、修改、和分发 PostgreSQL,不管是私用、商用、还是学术研究使用。 PostgreSQL从9.3版本开始内置了JSON数据类型,而9.4开始支持JSONB,标志着PostgreSQL实际上已经是一个关系型数据库和NoSQL数据库的结合体。虽然PostgreSQL还定位在关系型数据库,但是近几次更新PostgreSQL的NoSQL性能飙升甚至超过MongoDB。

非关系型数据库的优势:
  • 性能 nosql 是基于键值对的,可以想象成表中的主键和值得对应关系,而且不需要经过sql 层的解析,所以性能非常高。
  • 可扩展性 同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。
关系型数据库的优势:
  • 复杂查询 可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。
  • 事务支持 使得对于安全性能很高的数据访问要求得以实现。
PostgreSQL安装

这里以rpm的方式安装PostgreSQL 11

# 下载rpm包
yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-redhat11-11-2.noarch.rpm -y

# 安装
yum -y install postgresql11 postgresql11-server postgresql11-libs

# 初始化数据库
/usr/pgsql-11/bin/postgresql-11-setup initdb

# 设置开机自启动PostgreSQL和启动服务
systemctl enable postgresql-11
systemctl start postgresql-11
systemctl status postgresql-11
## 看到控制台输出的Active后有Running的字样说明启动完成

######PostgreSQL连接


修改(centos7 )postgres 用户密码
passwd postgres 
最好用强密码,以防挖矿病毒强破解

# 登录数据库,这里切换账号postgres
su - postgres
psql

# Navicat连接PostgreSQL
# 这里要修改配置文件postgresql.conf
find / -name postgresql.conf
vi /var/lib/pgsql/11/data/postgresql.conf

# 找到listen_address那里,解开注释并修改引号内localhost的值为*
listen_address="*"

# 保存并退出,重启postgresql服务
systemctl restart postgresql-11

# 修改远程连接pg_hba.conf
find / -name pg_hba.conf
vi /var/lib/pgsql/11/data/pg_hba.conf
# 在文件末尾加上,如果不加上远程连接PostgreSQL会出现no pg_hba.conf...的错误
host    all             all             0.0.0.0/0               trust

# 阿里云安全组规则配置 -> 快速添加安全组规则 -> 选中PostgreSQL并添加

# 在navicat连接,如果不修改localhost为*,navicat连接会提示错误“Connection Refuse”

# 我在这里修改了(数据库)postgres用户的密码,步骤如下:
## 切换用户后进入psql
su - postgres
psql
## 修改密码
alter user postgres password '密码'

######查看开机启动 systemctl list-unit-files | grep postgresql

######查看数据库服务端口开启情况 netstat -ntlp | grep post

#####安装 postgis

#安装epel-release
[root@promote ~]# yum -y install epel-release
#安装postgis
[root@promote ~]# sudo yum install postgis25_11 postgis25_11-devel postgis25_11-client postgis25_11-debuginfo postgis25_11-utils

[root@promote ~]# su - postgres
上一次登录:五 4月 12 16:51:07 CST 2019pts/1 上
-bash-4.2$ psql
psql (11.2)
输入 "help" 来获取帮助信息.


postgres=# 
#安装postgis 插件 
postgres=# CREATE EXTENSION postgis;

重启postgresql systemctl restart postgresql-11 参考: my.oschina.net/u/1011130/b… segmentfault.com/a/119000001…