
Greenplum相关
文章平均质量分 57
波特王子
csdn太难用了,唉
展开
-
Greenplum 日常维护手册
1. 数据库启动:gpstart常用可选参数: -a : 直接启动,不提示终端用户输入确认 -m:只启动master 实例,主要在故障处理时使用2. 数据库停止:gpstop:常用可选参数:-a:直接停止,不提示终端用户输入确认转载 2013-07-17 18:22:39 · 1178 阅读 · 0 评论 -
Append-only tables in Greenplum
append-only tablesAn append-only (AO) table is a storage representation that allows only appending new rows to a table, but does not allow updating or deleting existing rows. This allows for more co转载 2012-05-16 14:14:04 · 3290 阅读 · 0 评论 -
GP中查询表和视图清单,视图的字段及其类型
查询schema_name.view_name的字段及其类型:select a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod) as type,a.attnotnullfrom pg_catalog.pg_attribute a,pg_catalog.pg_class c, pg_catalog.pg_namespace n原创 2012-12-18 17:21:26 · 8154 阅读 · 0 评论 -
GreenPlum获取table、schema及其database大小
select pg_size_pretty(pg_relation_size('schema_name.table_name'));原创 2012-05-16 13:45:03 · 13403 阅读 · 1 评论 -
Greenplum中创建外部表进行数据导出
注意,用于导出的外部表一定是Writable,赋权的时候一定要Grant ALL给一个用户,该用户才能使用这个外部表导出数据。drop external table schema_name.external_table_name;CREATE Writable EXTERNAL TABLE schema_name.external_table_name( field1 charac原创 2013-11-07 17:40:17 · 5048 阅读 · 0 评论 -
Greenplum中通过外部表进行数据导入导出
外部表创建服务器后台gpfdist -p 8081 -d /var/data/staging -l /home/gpadmin/log &创建以|为分隔符的外部表CREATE EXTERNAL TABLE ext_expenses ( name text,date date, amount float4, category text, desc1 text )LOCATIO转载 2013-11-07 17:25:50 · 14069 阅读 · 1 评论 -
SQL中exists,any,all,some,in的问题
SELECT * FROM ORDERSWHERE EXISTS(SELECT *FORM ORDERSWHERE NAME#='SB')这样会返回orders里面所有的值,而不是只有NAME#='SB'的值改成SELECT * FROM ORDERS O1WHERE EXISTS(SELECT *FORM ORDERS O2WHERE O1.NAME# = O2.转载 2013-11-11 11:08:45 · 1659 阅读 · 0 评论 -
根据字段或者注释查询表清单
select * from (SELECT pg_namespace.nspname , pg_class.relname ,a.attname AS fields_name, pg_catalog.format_type(a.atttypid, a.atttypmod), pg_description.description AS fie原创 2013-11-11 11:33:06 · 1056 阅读 · 0 评论 -
PostgreSQL语句实现条件"每月第一个星期一"
如题,PostgreSQL语句实现条件"每月第一个星期一"这一条件:select 'Today is the first Monday of this month' where EXTRACT(DOW FROM now())=1 and EXTRACT(DAY from now()) EXTRACT(DOW FROM now())表示从当前时间戳中获取星期几(Day Of the原创 2013-11-27 15:00:36 · 2449 阅读 · 1 评论 -
关于in改为exist的优化
在测试中发现,在GP中,部分使用IN语法的sql,执行起来比较慢。要是发现有类似情况,可以优化一下,改为exist 或者not exist语法例如insert into my_db.my_table1 sel t2.field1,t2.field2,t2.field3,t2.field4,t2.field5,t3.field6,2,t3.field7原创 2013-11-14 13:50:34 · 6184 阅读 · 1 评论 -
通过标准输入输出实现Greenplum文件导入导出
通过标准输入输出实现Greenplum文件导入导出方法:导出:psql -h 192.168.0.1 -U test_user test_db -c "copy(select * from test_schema.test_table where Day_Id = '20140105' limit 2000) to STDOUT;" >/mytemp/test.txt 导入:cat原创 2014-01-06 16:44:50 · 3831 阅读 · 1 评论 -
根据特定字段和注释查询表清单
根据特定字段和注释查询表清单:select * from (SELECT pg_namespace.nspname , pg_class.relname ,a.attname AS fields_name, pg_catalog.format_type(a.atttypid, a.atttypmod), pg_description.d原创 2014-01-09 10:05:27 · 1389 阅读 · 0 评论 -
查询一些特定表的注释
查询一些特定表的注释:select ns.nspname, pg_class.relname, pg_description.descriptionfrom pg_namespace nsinner join pg_class on ns.oid=pg_class.relnamespace and ns.nspname = 'my_schema'inner join pg_descrip原创 2014-01-09 10:28:37 · 993 阅读 · 0 评论 -
交互分区替换分区表中的某个分区
交互分区方式可以替换分区表中的某个分区,典型地,当前分区为非压缩表,可以构建相同数据的压缩表替换掉这个分区。例如:--1.创建分区转换临时表CREATE TABLE my_schema.for_exchangewith (APPENDONLY=true, COMPRESSLEVEL=9)as (select * from my_schema.current_partition)D原创 2014-01-09 15:59:39 · 996 阅读 · 0 评论 -
postgreSQL 应用case when的例子
selectname,md5(indvl_id_nbr) as indvl_id_nbr,case when char_length(indvl_id_nbr)=18 or char_length(indvl_id_nbr)=15 then substring(indvl_id_nbr from 1 for 6)end as id_prefix, case when char_lengt原创 2014-01-15 13:47:24 · 46679 阅读 · 0 评论 -
Greenplum中的vacuum和analyze
Greenplum中的vacuum和analyze首先说说vacuum,该选项主要是清理数据库表中的垃圾空间定义:VACUUM reclaims storage occupied by deleted tuples. In normal Greenplum Database operation, tuples that are deleted or obsoleted by an up转载 2014-01-16 11:06:31 · 13598 阅读 · 2 评论 -
对GP下一个schema的满足特定条件的表赋权的函数
对GP下一个schema的满足特定条件的表赋权的函数,(这里特定条件指table_owner,表名的模式):CREATE OR REPLACE FUNCTION setTablePrivilege(schemaname text, role_name text, table_pattern text, table_owner text) RETURNS text AS$BODY$原创 2013-10-12 23:34:46 · 2066 阅读 · 0 评论 -
深入讲解数据库中User和Schema的关系
假如我们想了解数据库中的User和Schema究竟是什么关系,首先必须了解一下数据库中User和Schema到底是什么概念。 在SQL Server2000中,由于架构的原因,User和Schema总有一层隐含的关系,让我们很少意识到其实User和Schema是两种完全不同的概念,不过在SQL Server2005中这种架构被打破了,User和Schema也被分开了。首转载 2012-02-14 17:13:05 · 692 阅读 · 0 评论 -
SQL获取失配的行
SQL获取失配的行drop table test_duplicate;create table test_duplicate(a int,b int,c int);create table test_temp(a int,b int,d int);insert into test_temp values(1,2,5);insert into test_temp va原创 2012-06-08 11:27:19 · 565 阅读 · 0 评论 -
PostgreSQL password security
一般来说数据库密码安全管理要考虑以下几个方面 : 1. 密码过期策略, 决定密码的有效期, 多长时间过期. PostgreSQL 不支持密码过期策略, 但是可以通过其他方式来实现过期提醒.2. 密码复用策略, 密码修改时需要对比以前的密码, 多少次以后才可以复用, 或者永不能使用与以前密码相同的密码.PostgreSQL 不支持密码复用策略, 但是可以通过其他方式来实现强制密码复用转载 2013-08-29 14:21:23 · 4831 阅读 · 0 评论 -
postgresql常用函数汇总
函数:string || string 说明:String concatenation 字符串连接操作例子:'Post' || 'greSQL' = PostgreSQL 函数:string || non-string or non-string || string说明:String concatenation with one non-string input 字符串转载 2012-12-24 17:43:55 · 1141 阅读 · 0 评论 -
从Greenplum中查询用户名
SELECT u.usename AS "User name", u.usesysid AS "User ID", CASE WHEN u.usesuper AND u.usecreatedb THEN CAST('superuser, createdatabase' AS pg_catalog.text) WHEN u.usesuper THEN CAST('superu原创 2012-12-21 11:11:18 · 4277 阅读 · 0 评论 -
GREENPLUM介绍之数据库管理(一)
为了方面使用GP的工具,我们首先应该为操作系统用户gpadmin设置环境变量,vi .bash_profilesource /usr/local/greenplum-db/greenplum_path.shexport MASTER_DATA_DIRECTORY=/data/vol1/master --指向master的数据目录。如何启动数据库服务在master节点上,请转载 2012-05-16 15:09:38 · 1379 阅读 · 0 评论 -
查询Greenplum下一个schema中表的owner
查询一个schema下表及其owner:select c.relname, pg_catalog.pg_get_userbyid(c.relowner) as "Owner"from pg_catalog.pg_class c, pg_catalog.pg_namespace nwheren.oid = c.relnamespaceand n.nspname='schema_na原创 2013-09-27 17:05:10 · 2598 阅读 · 0 评论 -
greenplum分区表查看所占空间大小
在使用greenplum数据库的时候,有的时候想要查看表所占用空间的大小,会使用如下二个函数pg_relation_size和pg_size_pretty. 前者用来查看数据大小,后者是human readable的调整.方法如下:select pg_size_pretty(pg_relation_size('relation_name')) ;select p转载 2013-09-05 18:10:08 · 4723 阅读 · 0 评论 -
postgres function: COALESCE
COALESCECOALESCE(value [, ...])The COALESCE function returns the first of its arguments that is not null. Null is returned only if all arguments are null. It is often used to substitute a defa转载 2012-12-20 17:30:28 · 2823 阅读 · 0 评论 -
left join 和 left outer join 的区别
来源:http://www.cnblogs.com/cy163/archive/2008/10/16/1312920.htmlleft join 和 left outer join 的区别通俗的讲: A left join B 的连接的记录数与A表的记录数同 A right join B 的连接的记录数与B表的记录数同转载 2012-12-18 16:24:40 · 682 阅读 · 0 评论 -
GreenPlum--Case When
When it is essential to force evaluation order, a CASE construct may be used. For example, this is an untrustworthy way of trying to avoid division by zero in a WHERE clause:SELECT ... WHERE x 1.原创 2012-05-15 11:22:58 · 3517 阅读 · 0 评论 -
为GP一个schema下所有表授权的函数
CREATE OR REPLACE FUNCTION setTablePrivilege(schemaname text, role_name text) RETURNS text AS$BODY$DECLARE sqlstr text; aTable RECORD; privilegeStr text; fullname text;BEGINsqlstr:='select原创 2013-02-22 10:47:41 · 2534 阅读 · 0 评论 -
Greenplum增加分区相关
alter table mydb.mytab alter partition mytab201301 drop partition mytab201301;alter table mydb.mytab add partition mytab201301 start (date '2013-01-01') inclusive end (date '2013-02-01') exclusive;原创 2013-01-30 15:27:13 · 4783 阅读 · 0 评论 -
GREENPLUM介绍之数据库管理(三)
与其它关系型数据库一样,二维表同样是GP中最重要的存储数据对象。只不过为了更好的支持数据仓库海量数据的访问,GP在表这个层面为我们提供了更多更好的选项。从数据存储方式上看,GP的表可以分成面向行存储的普通堆积表和面向列存储的AOT表(APPEND ONLY TABLE)(当然AOT表也可以是按行存储的,但是按列存储必须是AOT表)。这样,我们在设计应用上可以获得相当的灵活性。比如经常需要更转载 2012-05-16 15:19:36 · 4711 阅读 · 0 评论 -
GREENPLUM介绍之数据库管理(二)
下面介绍一个把ORACLE数据库中的DEMO,SALES HISTORY移植到GREENPLUM的过程。这样大家可以在GP中有些DEMO数据,深入学习GP的各项功能。首先,创建目录mkdir -p /stage/sales_data我们需要把ORACLE SH SCHEMA下的数据导成平面文件,比较快捷高效的方式是通过sqlplus完成这个工作,把用来查询的SQL写入一个文件,比如转载 2012-05-16 15:13:43 · 2438 阅读 · 0 评论 -
Get the distributed keys of Greenplum by SQL query
select p.attnum,p.attname::varchar,a.tablename frompg_attribute p , (select a1.localoid,a1.attrnums,a2.tablename from gp_distribution_policy a1,(select a.relfilenode,n.nspname||'.'||a.relname as原创 2012-05-24 10:42:08 · 1006 阅读 · 0 评论 -
SQL LEFT JOIN Keyword
SQL LEFT JOIN KeywordThe LEFT JOIN keyword returns all rows from the left table (table_name1), even if there are no matches in the right table (table_name2).SQL LEFT JOIN SyntaxSELECT colu转载 2012-06-07 16:59:29 · 738 阅读 · 0 评论 -
分区表空间管理:历史分区压缩,当前分区非压缩
CREATE TABLE my_schema.test_partition_table( txn_dt date, prmair character(5))WITH ( OIDS=FALSE)DISTRIBUTED BY (txn_dt)PARTITION BY RANGE(txn_dt) ( PARTITION pt201211原创 2014-01-17 10:32:22 · 1785 阅读 · 0 评论