PostgreSQL复制表列+GreenPlum更改分布键

参考博客:https://blog.csdn.net/wlwlwlwl015/article/details/52493197

列属性和数据被拷贝,但不包含约束(如非空)、注释和序列

CREATE TABLE dest as SELECT * from src;

只复制表结构(默认复制非空约束),没有数据

CREATE TABLE dest (like src);

如果希望索引、主键约束和唯一约束被复制的话,那么需要在后面加上参数including indexes(大小写无关)

CREATE TABLE dest (like src including indexes);

其他参数如下:
参数

更改分布键

ALTER TABLE dest set distributed by(columname);

PS:若有主键,先删除主键关联,再更改

查询主键名,一般主键名都是表名 + _pkey 如表dest 主键名就是 dest_pkey

SELECT  a.conname FROM  pg_constraint as a, pg_class as b 
WHERE a.conrelid = b.oid AND a.contype = 'p'  AND b.relname = 'dest';

删除主键

ALTER TABLE dest DROP CONSTRAINT dest_pkey;
  • 1
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值