GreenPlum 数据库创建用户、文件空间、表空间、数据库

2023-05-16

前几篇文章介绍了GreenPlum数据库的安装、启动、关闭、状态检查、登录等操作,数据库已经创建好了,接下来介绍如何使用数据库。按照习惯,需要先创建测试用户、表空间、数据库。先创建测试用户dbdream。

view source
 
1postgres=# create role dbdream password 'dbdream' createdb login;
2NOTICE:  resource queue required -- using default resource queue "pg_default"
3CREATE ROLE

通常创建用户,赋予login权限基本就够用了,创建用户的语法可以通过\h create role命令来查看,这里不做记录了。可以通过pg_roles字典开查看数据库的用户信息。

view source
 
1postgres=# select rolname,oid from pg_roles;
2 rolname |  oid 
3---------+-------
4 gpadmin |    10
5 dbdream | 17197
6(2 rows)

创建完用户后,还需要修改pg_hba.conf文件,来赋予用户的远程登录权限。

view source
 
1[gpadmin@mdw gpseg-1]$ vi pg_hba.conf
2增加以下内容
3host    all     dbdream         10.9.15.20/32   md5

通过gpstop –u命令重新加载配置文件,使之生效后,dbdream用户即可远程访问数据库了。

view source
 
1[gpadmin@mdw gpseg-1]$ psql -d postgres -U dbdream -h 10.9.15.20 -p 5432
2Password for user dbdream:
3psql (8.2.15)
4Type "help" for help.

可以使用\c命令或者\conninfo命令来查看当前的登录信息。

view source
 
1postgres=> \c
2You are now connected to database "postgres" as user "dbdream".

创建表空间需要先创建文件空间,文件空间是在操作系统层创建,创建文件控制需要指定已存在的目录,通常需要规划并创建目录。Master和所有Segment节点都需要创建。可以使用下面的命令查看当前数据库的表空间和文件空间对应关系。

view source
 
1postgres=# select a.spcname,b.fsname from pg_tablespace a,pg_filespace b where spcfsoid=b.oid;
2  spcname   |  fsname  
3------------+-----------
4 pg_default | pg_system
5 pg_global  | pg_system

当前数据库只有pg_segment一个文件空间,上面有pg_default和pg_global两个表空间 。下面先创建Master节点的目录。

view source
 
1[gpadmin@mdw ~]$ mkdir -p /gpdb/gpdata/fspc_master

然后在Master节点通过gpssh命令创建Segment节点的目录。

view source
 
1[gpadmin@mdw ~]$ gpssh -f /gpdb/app/config/seg_host -e 'mkdir -p /gpdb/gpdata/fspc_segment'
2[sdw1] mkdir -p /gpdb/gpdata/fspc_segment
3[sdw2] mkdir -p /gpdb/gpdata/fspc_segment
4[sdw3] mkdir -p /gpdb/gpdata/fspc_segment

创建完目录后,可以通过gpfilespace命令创建文件空间。

view source
 
1gpadmin@mdw gpdata]$ gpfilespace
220160116:11:25:31:004066 gpfilespace:mdw:gpadmin-[INFO]:-
3A tablespace requires a file system location to store its database
4files. A filespace is a collection of file system locations for all components
5in a Greenplum system (primary segment, mirror segment and master instances).
6Once a filespace is created, it can be used by one or more tablespaces.
7 
820160116:11:25:31:004066 gpfilespace:mdw:gpadmin-[INFO]:-getting config
9Enter a name for this filespace

输入表空间的名字,名字随便起,但是不能使用gp_开头。

view source
 
01> fspc1
02 
03Checking your configuration:
04Your system has 1 hosts with 0 primary and 0 mirror segments per host.
05Your system has 3 hosts with 1 primary and 0 mirror segments per host.
06 
07Configuring hosts: [mdw]
08 
09Configuring hosts: [sdw1, sdw2, sdw3]
10 
11Please specify 1 locations for the primary segments, one per line:
12primary location 1>

这里输入Segment节点的文件空间目录。

view source
 
1primary location 1> /gpdb/gpdata/fspc_segment
2 
3Enter a file system location for the master
4master location>

这里输入Master几点的文件空间目录。

view source
 
1master location> /gpdb/gpdata/fspc_master
220160116:11:27:21:004066 gpfilespace:mdw:gpadmin-[INFO]:-Creating configuration file...
320160116:11:27:21:004066 gpfilespace:mdw:gpadmin-[INFO]:-[created]
420160116:11:27:21:004066 gpfilespace:mdw:gpadmin-[INFO]:-
5To add this filespace to the database please run the command:
6   gpfilespace --config /gpdb/gpdata/gpfilespace_config_20160116_112531

gpfilespace命令执行完成后,会生成一个配置文件,也就是上面的最后一行,/gpdb/gpdata/gpfilespace_config_20160116_112531,查看这个文件的内容会发现,上面的gpfilespace命令其实只是创建了文件空间的配置信息,并没有真正创建文件空间。

view source
 
1[gpadmin@mdw gpdata]$ cat /gpdb/gpdata/gpfilespace_config_20160116_112531
2filespace:fspc1
3mdw:1:/gpdb/gpdata/fspc_master/gpseg-1
4sdw1:2:/gpdb/gpdata/fspc_segment/gpseg0
5sdw2:3:/gpdb/gpdata/fspc_segment/gpseg1
6sdw3:4:/gpdb/gpdata/fspc_segment/gpseg2

这个文件可以自己创建并修改,真正创建文件空间需要运行刚才gpfilespace命令后的最后一行。

view source
 
01gpadmin@mdw gpdata]$ gpfilespace --config /gpdb/gpdata/gpfilespace_config_20160116_112531
0220160116:11:29:19:004180 gpfilespace:mdw:gpadmin-[INFO]:-
03A tablespace requires a file system location to store its database
04files. A filespace is a collection of file system locations for all components
05in a Greenplum system (primary segment, mirror segment and master instances).
06Once a filespace is created, it can be used by one or more tablespaces.
07 
0820160116:11:29:19:004180 gpfilespace:mdw:gpadmin-[INFO]:-getting config
09Reading Configuration file: '/gpdb/gpdata/gpfilespace_config_20160116_112531'
1020160116:11:29:19:004180 gpfilespace:mdw:gpadmin-[INFO]:-Performing validation on paths
11..............................................................................
1220160116:11:29:19:004180 gpfilespace:mdw:gpadmin-[INFO]:-Connecting to database
1320160116:11:29:19:004180 gpfilespace:mdw:gpadmin-[INFO]:-Filespace "fspc1" successfully created

这样才是真正创建完成文件空间,才能在数据库中查询到新建的文件空间信息。

view source
 
1postgres=# select * from pg_filespace;
2  fsname   | fsowner
3-----------+---------
4 pg_system |      10
5 fspc1     |      10
6(2 rows)

创建完文件空间,即可在文件空间上创建表空间,创建表空间必须使用support权限用户。

view source
 
1postgres-> \c postgres gpadmin
2You are now connected to database "postgres" as user "gpadmin".
3 
4postgres=# create tablespace tbs1 filespace fspc1;
5CREATE TABLESPACE

非support权限用户要使用新建的表空间,必须要使用support用户对其授予操作权限才可以,否则会遇到下面的错误。

view source
 
1postgres=# \c dbdream dbdream
2Password for user dbdream:
3You are now connected to database "dbdream" as user "dbdream".
4 
5dbdream=> create table t_test(id int,name varchar(10)) DISTRIBUTED BY(id);
6ERROR:  permission denied for tablespace tbs1

要使用户默认就使用新建的表空间,需要设置用户的默认表空间。

view source
 
1postgres=# alter role dbdream set default_tablespace='tbs1';
2ALTER ROLE

授权后,即可使用新建的表空间。

view source
 
01postgres-> \c postgres gpadmin
02You are now connected to database "postgres" as user "gpadmin".
03 
04dbdream=# grant all on tablespace tbs1 to dbdream;
05GRANT
06 
07dbdream=> create table t_test(id int,name varchar(10)) DISTRIBUTED BY(id);
08CREATE TABLE
09dbdream=> \d t_test
10           Table "public.t_test"
11 Column |         Type          | Modifiers
12--------+-----------------------+-----------
13 id     | integer               |
14 name   | character varying(10) |
15Distributed by: (id)
16Tablespace: "tbs1"

具有createdb权限的用户,都可以创建数据库了,语法可以通过\h create database命令来查看,非常简单。比如下面这条命令就可以创建一个数据库。

view source
 
1postgres=> create database dbdream;
2CREATE DATABASE

也可以在创建数据库时,指定数据库使用的默认表空间。

view source
 
1dbdream=# create database tt tablespace tbs1;
2CREATE DATABASE

创建数据库的用户必须要有createdb权限或者support用户权限,这也是之前创建用户是为什么直接赋予了createdb权限,可以通过pg_database字典来查看数据库信息。

view source
 
1dbdream=# select datname,datdba,dattablespace from pg_database;
2  datname  | datdba |  dattablespace |
3-----------+--------+----------------+
4 dbdream   |  17197 |           1663 |
5 postgres  |     10 |           1663 |
6 tt        |     10 |          17199 |
7 template1 |     10 |           1663 |
8 template0 |     10 |           1663 |
9(5 rows)

datdba字段表示的是数据库的所有者(创建者),这里存的是用户的oid,10是gpadmin用户,17191是dbdream用户,可以通过pg_role字典来查看。dattablespace字段表示的是表空间。存的也是表空间的ID,1663是pg_default表空间,17199是新建的tbs1表空间,可以通过pg_tablespace字典开查看。

本文固定链接: http://www.dbdream.com.cn/2016/01/greenplum%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e7%94%a8%e6%88%b7%e3%80%81%e6%96%87%e4%bb%b6%e7%a9%ba%e9%97%b4%e3%80%81%e8%a1%a8%e7%a9%ba%e9%97%b4%e3%80%81%e6%95%b0%e6%8d%ae%e5%ba%93/ | 信春哥,系统稳,闭眼上线不回滚!

该日志由 dbdream 于2016年01月1

转载于:https://www.cnblogs.com/xibuhaohao/p/11131064.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GreenPlum 数据库创建用户、文件空间、表空间、数据库 的相关文章

  • 新版福昕阅读器(Foxit Reader)启动速度慢解决办法

    新版福昕阅读器 xff08 FoxitReader xff09 启动速度慢解决办法之前喜欢使用福昕阅读器的原因就是看中了其小巧 xff0c 可是最近版本的阅读器打开速度变得慢了很多 xff08 不是电脑配置问题 xff09 xff0c 比A
  • 漫谈 SLAM 技术(上)

    欢迎大家前往腾讯云社区 xff0c 获取更多腾讯海量技术实践干货哦 作者 xff1a 解洪文 导语 随着最近几年机器人 无人机 无人驾驶 VR AR的火爆 xff0c SLAM技术也为大家熟知 xff0c 被认为是这些领域的关键技术之一 本
  • 【设计模式】我终于读懂了命令模式。。。

    文章目录 x1f436 智能生活项目需求 x1f42d 命令模式基本介绍 x1f439 命令模式的原理类图 x1f430 对原理类图的说明 即 命名模式的角色及职责 x1f43a 命令模式解决智能生活项目 x1f438 下面我们跟着代码de
  • css制作从下往上逐渐显示的div

    html代码 span class hljs tag lt span class hljs name div span span class hljs attr class span 61 span class hljs string 34
  • 清除redis缓存的命令,redis常用命令

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 清除redis缓存的命令 xff0c redis常用命令 Redis 命令 xff1a flushall gt 清空整个 Redis 服务器的数据 删除所有数据库的所有 k
  • R语言做正态分布检验

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 首先准备两个样本 code set seed 0 a lt runif 100 min 61 3 max 61 3 b lt rnorm 100 mean 61 0 sd
  • node-gyp安装 报错if not defined npm_config_node_gyp

    解决if not defined npm config node gyp 1 br npm install g node gyp 2 npm config set node gyp 34 node C Users me AppData Ro

随机推荐

  • Oracle在Windows上的运行问题分析和解决

    Oracle大型数据库系统在AIX UNIX上的实战详解 集中讨论的继续 做了一周关于Oracle在32位windows上实施的培训 xff0c 恰好期间有几位Oracle用户邮件询问关于Windows系统调整问题 正好吧 xff0c 把准
  • iOS UIImage 图片局部拉伸的一些学习要点

    之前 做纯色局部拉伸 通过 top bottom left right 相交的阴影拉伸 屡试不爽 实施方法 imageView image 61 UIImage imageNamed 64 34 icon helper palace day
  • Python 查看模块的帮助文档,方法和帮助信息

    参考链接 xff1a https blog csdn net u013810296 article details 55509284 这里介绍下python自带的查看帮助功能 xff0c 可以在编程时不中断地迅速找到所需模块和函数的使用方法
  • 移动电源、3G路由拆机

    这款电源 4400mAh xff0c 淘宝也就八十元左右 xff0c 可以作为无线路由使用 xff0c 可以插 3G 网卡 xff0c 总的来说还算不错 xff0c 关键是外观精美 xff0c 网上一堆和华美 A100 那样的 xff0c
  • FreeRTOS——任务调度—抢占式,时间片和合作式

    以下转载自安富莱电子 xff1a http forum armfly com forum php 本章教程为大家将介绍 FreeRTOS 操作系统支持的任务调度方式 xff1a 抢占式 xff0c 时间片和合作式 xff0c 这部分 算是
  • Linux无网络怎么安装软件,解决无网络环境使用yum本地源安装软件

    搞运维的朋友经常会遇到单位的服务器使用的是内网 xff0c 编译安装时间长 xff0c 麻烦些 xff0c 使用yum安装相对简单 xff0c 由于不能联网所以配置本地yum源是必要的 其实配置本地源是很简单的 xff0c 只需要挂载上系统
  • 到了这个年纪,就应该阅读Spring源码了,源码阅读指南-编译加运行

    文章目录 到了那个年纪 xff0c 就应该阅读Spring源码了 x1f604 第一步 xff0c clone x1f606 第二步 xff0c 使用idea打开项目 x1f60a gradle介绍 xff08 插叙手法 xff09 x1f
  • 页面加载完成

    1 document ready function alert 34 页面加载完成 xff01 34 简写 xff1a function alert 34 页面加载完成 xff01 34 2 原生JS方法 window nl ad 61 f
  • Java写的斗地主游戏源码

    源码下载在最后 我们的前年的课设要求做一个斗地主程序 xff0c 当时正在愁如何做界面 xff0c 当时刚好在学习C xff0c 于是就用C 完成了这个程序 一方面 xff0c 当时我C 功底还很差 xff08 其实现在也不怎么样 xff0
  • 加密的m3u8、ts文件合并

    加密后的ts文件不能直接合并或播放 xff0c 需要使用key对每个ts文件进行解密 分为两种情况 xff1a 1 如果ts文件已经全部下载好 xff0c 则可以直接在本地通过ffmpeg快速解密合并 2 如果ts文件没有下载好 xff0c
  • 微信小程序:截图组件welCropper,实现原理及其使用

    最近做项目的时候 xff0c 需要做一个截图功能 用了一个别人写的截图工具 xff0c 发现截出的图质量下降了 xff0c 但是我们图片要用来做识别 需要保证截出的图质量不下降 而且也不支持通过拖动来调整截图框的大小 所以这个截图工具无法满
  • 时序数据从分表到分库

    这里的时序数据泛指一切随时间推移而不断增长的数据 xff0c 比如通话记录 银行交易记录等 对于数据库来讲 xff0c 时序数据并没有什么特殊性 xff0c 可以和普通数据一样放在数据表中 不过 xff0c 因为不断增长 xff0c 积累时
  • Elasticsearch7.1中文文档-第一章-入门

    入门 引言 Elasticsearch是一个高度可扩展开源的全文搜索引擎 它搜索几乎是实时的 用ES作为搜索引擎 为复杂搜索功能的需求提供解决方案 ES的使用场景 网上商场 搜索商品 ES配合logstash kibana 日志分析 本教程
  • VINS(一)简介与代码结构

    VINS Mono和VINS Mobile是香港科技大学沈劭劼团队开源的单目视觉惯导SLAM方案 是基于优化和滑动窗口的VIO xff0c 使用IMU预积分构建紧耦合框架 并且具备自动初始化 xff0c 在线外参标定 xff0c 重定位 x
  • QTableView中设置单元格居中

    在获取想要设置的单元格对应的QStandardItem item xff0c 然后设置此item文本属性属性 xff0c 伪码如下 xff1a QStandardItem item 61 new QStandarItem 或者 GetQSt
  • MacBook Pro休眠掉电、耗电量大问题解决方案

    1 前言 最近我的2015mbpMacBook Pro Retina 13 inch early 2015 更新完10 14系统后 xff0c 发现休眠待机一晚上后能掉5 电 xff0c 白天待机4 5小时又掉了8 然而在此之前我记得休眠是
  • 推荐一本springBoot学习书籍---深入浅出springBoot2.x

    花了几周时间读完了这本书 确实是一本特别详细全面的书 而且不单单只是springBoot 书中还介绍了许多工作中常用的技术与springBoot的整合使用 当然 也有一些小bug 因为在代码实践过程发现和书中代码还是有区别的 当然我只发现了
  • 【simple-cache】我开发了一款只要一个注解就可以轻松实现缓存的框架

    x1f436 背景 xff1a 我们在写web项目的时候 xff0c 当大量的请求进来会导致我们数据库压力过大 xff0c 所以我们需要加入缓存来减轻数据库的压力 xff0c 但是现在市面上的很多缓存框架配置太复杂 xff0c 所以该框架只
  • 转载——为什么你睡了11个小时仍然觉得疲累?

    教你如何休息 为什么你睡了11个小时仍然觉得疲累 xff1f 为什么你花了好几万去岛国度假并没有增加生活的热情 xff1f 都说要去KTV xff0c 去夜店 xff0c 去游乐园就能忘掉不快 xff0c 更带劲地开始新的一天 xff0c
  • GreenPlum 数据库创建用户、文件空间、表空间、数据库

    前几篇文章介绍了GreenPlum数据库的安装 启动 关闭 状态检查 登录等操作 xff0c 数据库已经创建好了 xff0c 接下来介绍如何使用数据库 按照习惯 xff0c 需要先创建测试用户 表空间 数据库 先创建测试用户dbdream