greenplum基本操作及管理命令

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 …方式

相关文档
最新文档