开发者社区> 问答> 正文

创建聚集索引,执行CLUSTER后,表的oid和表文件不一致

已解决

在表clusterindex上创建了一个聚集索引,创建前后通过pg_class查看表的oid是同一个。

screenshot

但在数据库目录下发现16474这个表文件消失,表的内容存放在叫16489的新文件中。

使用analyze命令和vacuum更新了元数据,问题依旧。

展开
收起
ka1gu0 2016-04-12 15:27:22 2811 0
1 条回答
写回答
取消 提交回答
  • 公益是一辈子的事, I am digoal, just do it. 阿里云数据库团队, 擅长PolarDB, PostgreSQL, DuckDB, ADB等, 长期致力于推动开源数据库技术、生态在中国的发展与开源产业人才培养. 曾荣获阿里巴巴麒麟布道师称号、2018届OSCAR开源尖峰人物.
    采纳回答

    oid和文件本来就不保证一致的,你要查文件名应该使用这种方式:

    postgres=> select pg_relation_filepath('tbl1');
     pg_relation_filepath 
    ----------------------
     base/13003/16397
    (1 row)
    2019-07-17 18:41:25
    赞同 1 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
Phoenix 全局索引原理与实践 立即下载
MySQL表和索引优化实战 立即下载