postsql 表索引重新置位

在测试阶段会往表中插入很多数据,而正式发布之后,这些数据会被删除,同时不希望索引值反映这些垃圾数据,比如有如下的表:
create table insert_t(
seqid serial,
name text
);

使用/d查看,可以看到,这时会生成一个sequence:insert_t_seqid_seq,所以,我们的工作实际上是集中在这个序列上的。
test=# select * from insert_t_seqid_seq ;
可以看到这个序列中有个值叫last_value,代表着上一次使用的seqid;并且有increment_by,一般是1,即每次增加几。

我们使用alter sequence命令:
ALTER SEQUENCE insert_t_seqid_seq restart with 1;
test=# select last_value from insert_t_seqid_seq ;
 last_value 
------------
          1
(1 行)
可以看到值被改变了,之后再插入数据到insert_t,可以看到,seqid从1开始了。

你可能感兴趣的:(postsql 表索引重新置位)