1、ctid:表示数据记录的物理行当信息,指的是 一条记录位于哪个数据块的哪个位移上面。 跟oracle中伪列 rowid 的意义一样的;只是形式不一样。 例如这有个一表test;查看每行记录的ctid情况
2、同理 ctid在postgresql里面同样可以使用。例如test表id为1001有两条记录;现在演示下;
3、把这条记录插入下;看下;
4、可以手动回收这段空间;
5、test数据太少了;不好解释;新建一个表test2
6、看下id=1000的ctid的blockid是多少;答案是5;意思是说该表的记录记录到第6个块;(因为是从0开始的)
7、借助系统视图pg_class;其中relpages,reltuples分别代表块数,记录