centos 7安装 postgres 10 (转)

在mysql被收购之后,大家发现了另一款开源的数据库,postgresql,虽然centos自带版本9.2也可以用,但是最近的几次升级支持了更多更新的内容,比如,PostgreSQL有一个MySQL无法比拟的优势,那就是PostGIS,PostGIS可以完美支持空间数据存储和空间分析;从PostgreSQL9.3起就内置了JSON数据类型,而9.4又开始支持JSONB,这标志着PostgreSQL实际上已经是一个关系型数据库和NoSQL数据库的结合体了、虽然postgresql是一个关系型数据库,但是近几次更新PostgreSQL的NoSQL性能有益到甚至超过了MongoDB。

系统自带版本9.2略低,近几次升级功能较多,本次安装最新版本。

一、更新源

地址:https://yum.postgresql.org/repopackages.php


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

在centos系统中执行

[plain]  view plain  copy
  1. yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm -y    

二、安装postgresql

先查看postgresql源

[plain]  view plain  copy
  1. yum list | grep postgresql  

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

[plain]  view plain  copy
  1. yum install postgresql10-contrib postgresql10-server -y  

三、初始化数据库

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

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

[plain]  view plain  copy
  1. /usr/pgsql-10/bin/postgresql-10-setup initdb  

显示这个代表初始化成功

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

[plain]  view plain  copy
  1. sudo systemctl start postgresql-10  
  2. sudo systemctl enable postgresql-10.service  

五、登录postgresql并设置密码

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

输入

[plain]  view plain  copy
  1. su - postgres  
  2. psql  

进入数据库

样子长这样


我们来设置密码:

[plain]  view plain  copy
  1. ALTER USER postgres WITH PASSWORD '密码';  

退出:\q

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


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

[plain]  view plain  copy
  1. vi /var/lib/pgsql/10/data/pg_hba.conf  

原本长成这样


我们需要改成


保存退出

我们改远程访问

[plain]  view plain  copy
  1. vi /var/lib/pgsql/10/data/postgresql.conf  

往下拉我们会看到


需要改成


重启postgresql

[plain]  view plain  copy
  1. systemctl restart postgresql-10  

七、登录postgresql

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

输入

[plain]  view plain  copy
  1. su - postgres  
  2. psql  
进入数据库


此时已经可以进行验证密码

八、远程连接数据库

我们用pgadmin进行验证连接


输入相关信息


此时我们可以看到相关数据了



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

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

创建数据库

[plain]  view plain  copy
  1. CREATE DATABASE testdb;  

创建用户

[plain]  view plain  copy
  1. CREATE USER testuser CREATEDB LOGIN PASSWORD 'testpassword';  

将testdb所有权限赋给用户testuser

[plain]  view plain  copy
  1. GRANT ALL ON DATABASE testdb TO testuser;  

样子:


查看现有数据库及用户


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

删除数据库

[plain]  view plain  copy
  1. drop database testdb;  

删除用户

[plain]  view plain  copy
  1. drop role testuser;  

验证:



至此,我们已经完成基础的东西了。。至于其他,自己发挥吧。

猜你喜欢

转载自blog.csdn.net/soband_xiang/article/details/80800237
今日推荐