添加字段
alter table t_user_arch ADD column arch_no_old varchar(30) NOT NULL DEFAULT '';
删除字段
alter table t_user_arch DROP column meter_class_amount;
添加索引
create INDEX is_cancel_index ON t_pay_rec(is_cancel); -- is_cancel_index 是索引名,必须是唯一的,删除索引时会用到,建议表名_字段名_index为命名规则。
删除索引
DROP INDEX indexname; -- indexname 是索引名
添加唯一键约束
alter table t_wechat_user add CONSTRAINT unique_arch_id_openid UNIQUE(arch_id,openid);
修改字段类型
alter table 表名 alter column 列名 type 类型 using 列名::类型
alter table cx1 alter fsje type numeric(18, 2) USING fsje::numeric(18,2);
添加标识列,将列设置为标识列,GENERATED类型(可用于重置标识列)
--删除已有标识列
ALTER TABLE t_wxpay_file_item ALTER COLUMN fid DROP IDENTITY IF EXISTS;
--添加标识列 从9999起始
ALTER TABLE t_wxpay_file_item ALTER COLUMN fid ADD GENERATED BY DEFAULT AS IDENTITY (START WITH 9999 INCREMENT BY 1)
添加序列(用于创建表后或迁移表,存在序列名的增长列)
alter table test alter column id set default nextval(‘test_id_seq’);
获取序列值
select nextval('"test_id_seq"');
重置序列值
alter sequence s_seq restart with 2
或select setval('s_seq',2,false)