微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

greenplum,postgresql笔记

建表注意事项

########################################################
1、建表
2、insert_time和update_time设置认值 Now(),update_time触发器设置
3、id自增设置
########################################################


修改某条记录的某个字段后,update_time自动更新
[使用触发器]
########################################################
create or replace function cs_timestamp() returns trigger as
$$
begin
		new.update_time = current_timestamp;
		return new;
end
$$
language plpgsql;


触发器取相同的名字cs_name
create trigger cs_name before update on xxx_table for each row execute procedure cs_timestamp();
create trigger cs_name before update on yyy_table for each row execute procedure cs_timestamp();
# 修改表结构
ALTER TABLE "dwd"."xxx_table"
DROP COLUMN "id",
ADD COLUMN "id" serial8 NOT NULL,
ADD PRIMARY KEY ("id");

# 创建ID自增
CREATE SEQUENCE xxx_table_id_seq START 1

# 删除id自增
DROP SEQUENCE xxx_table_id_seq

# 设置id自增,保存
nextval('dwd.xx_table_id_seq'::regclass)


修改表格的分布键
alter table "dwd"."xxx_table" set distributed by(id);

https://www.jianshu.com/p/22dd210e1d99
https://blog.csdn.net/Maslii/article/details/104762949
https://www.runoob.com/postgresql/postgresql-trigger.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐