当前位置:首页 > 技术文档 > 正文内容

centos7 安装最新版postgresql10

admin8年前 (2018-04-15)技术文档1891

    

一、更新源

地址: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  

进入数据库

样子长这样


我们来设置密码:

          psql                             进入数据库管理

         \password postgres    设置postgres账号密码为postgres

         CREATE USER pguser WITH PASSWORD 'test123';   创建数据库用户
         CREATE DATABASE test OWNER pguser;        创建数据库
         GRANT ALL PRIVILEGES ON DATABASE test to pguser;  授权给pguser

退出:\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;  

验证:



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


分享到:

扫描二维码推送至手机访问。

版权声明:本文由云河空间发布,如需转载请注明出处。

本文链接:https://yuyunhe.cn/index.php/post/254.html

分享给朋友:

“centos7 安装最新版postgresql10” 的相关文章

安卓刷机教程

 安卓手机刷机教程,体验不一样的新系统。    一:刷机准备与介绍  首先简单介绍下刷机吧,所谓的刷机,不纯指刷新的系统,其中还包括刷Recovery(也叫CWM或者工程模式),基带(你可以理解为电脑驱动 类),ROM(系统哦),SPL(你...

如何自己手工获取自己的Access Token

如何自己手工获取自己的Access Token

在使用WP2PCS前,你需要了解,WP2PCS目前只支持百度网盘,(将来将支持360网盘和腾讯微云,这要看它们的API什么时候开放, 且容易开发)是基于百度PCS的API开发的,和坊间流传的抓取百度网盘文件直链不同,WP2PCS从百度网盘获取文件的源(二进制流),是百度许可并鼓 励开发者使用的接...

用php gettext库来开发多语言系统

用php gettext库来开发多语言系统

通常人们写程序时都是将文字写死在程序里的, 比如:echo "Hello World!";  ,假如要改成它国语言,写国际化程序,就要逐个打开进行修改,程序较短时还行,若程序有上万甚至更多,改起来就不是那么容易了。近来随着i18n的逐渐标 准化,我也来讲一讲在PHP中如...

如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)

如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)?先上代码进行java时间转换成unix timestampimport java.text.DateFormat;   import java.text.ParseExceptio...

php取整函数ceil,floor,round,intval函数的区别

开发过程中,遇到数据处理取整的时候,你会用哪个呢,小涛来介绍一下:PHP取整函数有ceil,floor,round,intval,下面详细介绍一下:1、ceil — 进一法取整说明float ceil ( float $value )返回不小于 ...     ...

PHP实现百度、网易、新浪短网址服务的API接口调用

[导读] 看了几个短网址API服务,于是把它们整理出来,方便以后使用,目前,提供靠谱的短网址API接口的公司不多(谷歌、百度、新浪微博、网易等),而像腾讯微博、淘宝这几个巨头的短网址服务都是...    PHP实现百度、网易、新浪短网址服务的API接口调用  ...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。