实际项目中经常会遇到要修改表结构的需求, 现在总结下postgres中修改表结构
比如, 现在有个表,
CREATE TABLE test
(
id bigint NOT NULL,
name character varying,
CONSTRAINT pk_test PRIMARY KEY (id) -------这个个约束(constraint), 主键约束
)
WITH (
OIDS=FALSE
);
ALTER TABLE pets
OWNER TO postgres;
1. 增加列, 修改主键
之前表有2个字段, id和name, id是主键, 现在有需求增加一个index, 并且需求是主键改为id和index, sql语句如下
alter table test add column test_index smallint not null default 0; -----------增加一个列 test_index
alter table test drop constraint pk_test; ----------------删除之前的主键约束
alter table test add constraint pk_test PRIMARY_KEY(id, test_index); ------------重新增加一个主键