第章系统管理 1
服务启停 GP1.1
su - gpadmin
gpstart #正常启动
gpstop #正常关闭
gpstop -M fast #快速关闭
gpstop –r #重启
gpstop –u #重新加载配置文件
登陆 1.2
psql gpdb
psql -d gpdb -h gphostm -p 5432 -U gpadmin
查看配置 segment 1.3
select * from gp_segment_configuration;
文件系统 1.4
select * from pg_filespace_entry;
列出所有数据库 1.5
l– psql
行表库最大尺寸 1.6
一个数据库最大尺寸? 无限制(已存在有 32TB 的数据库)
一个表的最大尺寸? 32 TB
一行记录的最大尺寸? 1.6 TB
一个字段的最大尺寸? 1 GB
一个表里最大行数? 无限制
一个表里最大列数? 250-1600 (与列类型有关)
一个表里的最大索引数量? 无限制
当然,实际上没有真正的无限制,还是要受可用磁盘空间、可用内存/交换区的制约。
事实上,当这些数值变得异常地大时,系统性能也会受很大影响。
表的最大尺寸 32 TB 不需要操作系统对大文件的支持。大表用多个 1 GB 的文件存
储,因此文件系统尺寸的限制是不重要的。
如果缺省的块大小增长到 32K ,最大的表尺寸和最大列数还可以增加到四倍
存储空间 1.7
一个 Postgres 数据库(存储一个文本文件)所占用的空间最多可能需要相当于这个
倍的磁盘空间。 5 文本文件自身大小
第章操作 Psql 2
创建删除用户/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
mydb gpadmin -U -e 5432 -p createdb
运行建库脚本 2.3
psql -p 5432 -U gpadmin -d mydb -f ./mysql.sql
表描述 2.4
/d+ <tablename>
执行文件 sql 2.5
psql gpdbname –f yoursqlfile.sql
或者 psql 登陆后执行 \i yoursqlfile.sq
返回查询头几行随机几行/2.6
SELECTcols FROM tab random()BYORDER
1LIMIT ;
更改字段类型 2.7
TYPE COLUMN ALTER TABLE ALTER.
第章数据导入导出 3
工具 GPload3.1
编写 l
verSION: 1.0.0.1
USER: gpadmin
PORT: 5432
GPLOAD:
INPUT:
- SOURCE:
FILE:
- /opt/gpadmin/
- COLUMNS:
- msisdn: text
- blank1: textgreenplum数据库
- blank2: text
- uaText: text
- FORMAT: text
- DELIMITER: '|'
OUTPUT:
- TABLE: ua_in
- MODE: INSERT
SQL:
执行命令:gpload -f l -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-insertINSERT INTO expenses_travel
SELECT * from ext_expenses where category='travel';
……方式 astable 2-create
CREATE TABLE expenses AS SELECT * from ext_expenses;
命令 3.3Copy
Copy 命令装载数据并不是并行装载,而且所装载的数据文件必须放在 master 服务器
上,例如:
COPY country FROM ‘/data/gpdb/country_data'
WITH DELIMITER ‘|' LOG ERRORS INTO err_country
ROWS; 10 LIMIT REJECT SEGMENT.
第章附录——命令大全 4
输入: /copyright 获取发布信息
/h 获取 SQL 命令的帮助
/? 获取 psql 命令的帮助
/g 或者以分号作为执行查询的结尾
/q 退出
一般选项 4.1
/c[onnect] [数据库名|- [用户名称]]
联接到新的数据库 (当前为 est)
/cd [目录名] 改变当前的工作目录
/copyright 显示 PostgreSQL 用法和发布信息
/encoding [编码]
显示或设置客户端编码
/h [名字] SQL 命令的语法帮助, 用 * 可以看所有命令的帮助
/q 退出 psql
/set [名字 [值]]
设置内部变量, 如果没有参数就列出所有
/timing 查询计时开关切换 (目前是 关闭)
/unset 名字 取消(删除)内部变量
shell 里执行命令或者开始一个交互的 shell 在 ]命令[ /!.
查询缓冲区选项 4.2
/e [文件名] 用一个外部编辑器编辑当前查询缓冲区或者文件
/g [文件名] 向服务器发送 SQL 命令 (并且把结果写到文件或者 |管道)
/p 显示当前查询缓冲区的内容
/r 重置 (清理) 查询缓冲区
/s [文件名] 打印历史或者将其保存到文件
/w [文件名] 将查询缓冲区写出到文件
输入输出选项/4.3
/echo [字串] 向标准输出写出文本
/i 文件名 执行来自文件的命令
/o [文件名] 向文件或者 |管道 发送所有查询结果
/qecho [字串]
向查询输出流写出文本 (见 /o)
信息选项 4.4
/d [名字] 描述表, 索引, 序列, 或者视图
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论