接触gp数据库近一年的时间,语法上和其他数据库还是有些许不同,工作中常用的操作语句分享给大家!

-- 建表语句

create table ods.ods_b_bill_m (

acct_month text,

user_id text,

city_code text

)

WITH (

appendonly=true,

orientation=column,--列存 行存为 row

compresstype=zlib,--压缩格式 --QUICKLZ

COMPRESSLEVEL=5, --压缩等级 0--9 --1 压缩低查询快

OIDS=FALSE

)

DISTRIBUTED BY (user_id) --分布键

PARTITION BY LIST("acct_month") --分区键

(

PARTITION p_201801 VALUES ('201801'),

PARTITION p_201802 VALUES ('201802'),

default partition other --容错没有分区键在此,不推荐使用

);

-- 修改分布键

alter table tab01 set distributed by(name);

-- 增加分区

alter table ods.ods_b_bill_m partition p_201803 values('201803')

WITH (appendonly=true,orientation=column,compresstype=zlib,COMPRESSLEVEL=5);

-- 删除分区

alter table ods.ods_b_bill_m drop partition p_201803 ;

-- 修改表名

ALTER TABLE ods.ods_b_bill_m RENAME TO ods_cb_bill_m ;

-- 增加字段 

alter table ods.ods_b_bill_m add gprs_flow text default null ;

-- 删除字段

alter table ods.ods_b_bill_m drop column gprs_flow ;

-- 修改字段名称 

alter table ods.ods_b_bill_m rename column "账期" to acct_month;

-- 更改字段类型 

alter table ods.ods_b_bill_m alter column  user_age type character  varying ;

--强制类型转换 转换成数值类型需要强转 

alter table ods.ods_b_bill_m alter column  user_age type numeric  using user_age::numeric ;

-- 创建序列

CREATE SEQUENCE rptinfo_id_seq START 100;

-- 授权

alter schema rpt owner to user01;

grant select on table ods.ods_b_bill_m to user01; --将表查询权限给用户

grant all on schema dw to user01;

下一篇:【 PostgreSQL】十条实用数据库SQL优化建议

【 PostgreSQL】工作中常用SQL语句干货的更多相关文章

  1. SQL server中常用sql语句

    --循环执行插入10000条数据 declare @ID intbeginset @ID=1 while @ID<=10000begininsert into table_name values ...

  2. 工作中的sql语句总结

    1,查找mysql 数据库 自动 添加 序号 字段列1,2,3,4 ) AS rowno,ip,startcount ) b 2,mysql的分页语句 limit后面第一个参数是index,从0开始: ...

  3. 项目中常用SQL语句总结

    1.项目中常常需要修改字段长度,但需要保留数据--增加业务受理 项目名称 字段长度alter table t_ywsl add aa varchar2(200);update t_ywsl set a ...

  4. 收集一些工作中常用的经典SQL语句

    作为一枚程序员来说和数据库打交道是不可避免的,现收集一下工作中常用的SQL语句,希望能给大家带来一些帮助,当然不全面,欢迎补充! 1.执行插入语句,获取自动生成的递增的ID值 INSERT INTO ...

  5. 浅谈MySQL中优化sql语句查询常用的30种方法 - 转载

    浅谈MySQL中优化sql语句查询常用的30种方法 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使 ...

  6. 在mybatis中写sql语句的一些体会

    本文会使用一个案例,就mybatis的一些基础语法进行讲解.案例中使用到的数据库表和对象如下: article表:这个表存放的是文章的基础信息 -- ------------------------- ...

  7. oracle数据库常用SQL语句(11.29更新)

    笔者日常工作中常用到的sql语句,现总结如下,留作日后查看. 1.按照两列中的最大值取 ,只取两列其中的一列 SELECT * FROM t_doc T ORDER BY GREATEST(T.Loa ...

  8. php面试专题---MySQL常用SQL语句优化

    php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...

  9. 常用SQL语句大全

    一些常用SQL语句大全   一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql se ...

随机推荐

  1. package-info类解读

    类不能带有public.private访问权限.package-info.java再怎么特殊,也是一个类文件,也会被编译成package-info.class,但是在package-info.java ...

  2. WindowsServer2008安装IIS相关服务

    控制面板->程序->打开或关闭Windows功能 添加角色,选择IIS服务器,选择以下角色服务,如果添加过就选择添加角色服务 如果出现500错误,这个跟程序没有多大关系,可以试一下以下操作 ...

  3. Examples of GoF Design Patterns--摘录

    http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns You can find an overview ...

  4. java C# objective-c AES对称加解密

    /** * AES加解密 */ public class AESHelper { final static String AES_KEY = "43hr8fhu34b58123"; ...

  5. JAVA泛型——逆变

    在上篇<JAVA泛型——协变>这篇文章中遗留以下问题——协变不能解决将子类型添加到父类型的泛型列表中.本篇将用逆变来解决这个问题. 实验准备 我们首先增加以下方法,见代码清单1所示. 代码 ...

  6. Odata简介和Demo

    转:http://www.cnblogs.com/shanyou/archive/2013/06/11/3131583.html 在SOA的世界中,最重要的一个概念就是契约(contract).在云计 ...

  7. 【C#】权限修饰符

    这个看了蛮多遍的,但是由于有一些一直不用,老是忘记,记录一下:) private  成员只能由同一个类(class)类型中的其他成员访问. family  成员可由派生类访问,不管那些类型是否在用一个 ...

  8. oracle lpad rpad函数

    学习并记录 1.情况一 ) from dual; 运行结果如下: email长度5,默认添加3个空格在左边 2.情况二 ) from dual; 运行结果如下: email长度5,截取2两个字符 3. ...

  9. centos 6无法上外网

    1.先配置/etc/sysconfig/network-scripts/ifcfg-eth0 配置完成后能ping通内网.网关,但是上不了外网 DEVICE=eth0 HWADDR=:0C::FF:: ...

  10. docker login 报错 Error response from daemon: Get https://registry-1.docker.io/v2/: unauthorized: incorrect username or password

    按照网上说的说法,造成这个现象有很多原因,大家可以多尝试一下,下面贴出解决我问题的方法: docker账户分为两个部分,一个是email,一个是dockerID,使用docker login登陆时要使 ...