ctid表示数据行在它所处的表内的物理位置,ctid字段的类型是tid。尽管ctid可以快速定位数据行,每次vacuum full之后,数据行在块内的物理位置就会移动,即ctid会发生变化,所以ctid不能作为长期的行标识符,应该使用主键来标识一个逻辑行。
select ctid, * from table
select distinct uid, count(*) , * from table group by uid having count(*) > 1;
select ctid, * from table where ctid in (select min(ctid) from table group by uid);
delete from table where ctid not in (select min(ctid) from table group by objectid);
查询数据库中重复项
查询不重复的uid,uid的数量,所有数据,以uid数量大于1的数据组合