greenplum基本操作及管理命令
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章系统管理
1.1 GP服务启停
su - gpadmin
gpstart #正常启动
gpstop #正常关闭
gpstop -M fast #快速关闭
gpstop –r #重启
gpstop –u #重新加载配置文件
1.2 登陆
psql gpdb
psql -d gpdb -h gphostm -p 5432 -U gpadmin 1.3 查看segment配置
select * from gp_segment_configuration;
1.4 文件系统
select * from pg_filespace_entry;
1.5 列出所有数据库
psql –l
1.6 行表库最大尺寸
一个数据库最大尺寸?无限制(已存在有32TB 的数据库)
一个表的最大尺寸?32 TB
一行记录的最大尺寸?1.6 TB
一个字段的最大尺寸? 1 GB
一个表里最大行数?无限制
一个表里最大列数?250-1600 (与列类型有关)
一个表里的最大索引数量?无限制
当然,实际上没有真正的无限制,还是要受可用磁盘空间、可用内存/交换区的制约。事实上,当这些数值变得异常地大时,系统性能也会受很大影响。
表的最大尺寸32 TB 不需要操作系统对大文件的支持。大表用多个1 GB 的文件存储,因此文件系统尺寸的限制是不重要的。
如果缺省的块大小增长到32K ,最大的表尺寸和最大列数还可以增加到四倍
1.7 存储空间
一个Postgres 数据库(存储一个文本文件)所占用的空间最多可能需要相当于这个文本文件自身大小5倍的磁盘空间。
第2章Psql操作
2.1 创建/删除用户
创建用户:
createuser [-a] [-A] [-d] [-D] [-e] [-P] [-h 主机名] [-p port] 用户名参数说明:
[-a]:允许创建其他用户,相当于创建一个超级用户;
[-A]:不允许此用户创建其他用户;
[-d]:允许此用户创建数据库;
[-D]:不允许此用户创建数据库;
[-e]:将执行过程显示到Shell上;
[-P]:创建用户时,同时设置密码;
[-h 主机名]:为某个主机上的Postgres创建用户;
[-p port]:与-h参数一同使用,指定主机的端口。
createuser -h 172.28.18.51 -p 5000 -D -A -e testuser
创建超级用户:createuser -P -d -a -e testuser
删除用户:
命令:dropuser [-i] [-h] [-p] [-e] 用户名
参数说明:
[ -i]:删除用户前,要求确认;
[-h 主机名]:删除某个主机上的Postgres用户;
[-p port]:与-h参数一同使用,指定主机的端口;
[-e]:将执行过程显示到Shell上。
2.2 创建数据库
createdb -p 5432 -e -U gpadmin mydb
2.3 运行建库脚本
psql -p 5432 -U gpadmin -d mydb -f ./mysql.sql 2.4 表描述
/d+
2.5 执行sql文件
psql gpdbname –f yoursqlfile.sql
或者psql登陆后执行\i yoursqlfile.sq
2.6 返回查询头几行/随机几行
SELECT cols
FROM tab
ORDER BY random()
LIMIT 1 ;
2.7 更改字段类型
ALTER TABLE ALTER COLUMN TYPE
第3章数据导入导出
3.1 GPload工具
编写load.yml
verSION: 1.0.0.1
USER: gpadmin
PORT: 5432
GPLOAD:
INPUT:
- SOURCE:
FILE:
- /opt/gpadmin/zhonghong/testload.txt
- COLUMNS:
- msisdn: text
- blank1: text
- blank2: text
- uaText: text
- FORMAT: text
- DELIMITER: '|'
OUTPUT:
- TABLE: ua_in
- MODE: INSERT
SQL:
执行命令:gpload -f load.yml -U gpadmin -d uainfo
3.2 外部表
CREATE EXTERNAL TABLE ext_expenses ( name text,
date date, amount float4, category text, desc text ) LOCATION (‘gpfdist://etlhost:8081/*’,
‘gpfdist://etlhost1:8081/*’)
FORMAT ‘TEXT’ (DELIMITER ‘,’);
装载数据:
1-insert方式
INSERT INTO expenses_travel
SELECT * from ext_expenses where category=’travel’;
2-create table…as …方式