当前位置: 首页 > news >正文

广西学校网站建设专业seo推广

广西学校网站建设,专业seo推广,广州网站备案,万网域名安装wordpress背景 社区中某同学提出问题: 某环境磁盘占用空间较大,于是想找到数据目录占用最大的表。使用常规查询找不出来,于是到数据目录下分析filenode,找到3个filenode占了400G。然而根据filenode从pg_class中确找不到对应的relfilenode。…

背景

社区中某同学提出问题:
某环境磁盘占用空间较大,于是想找到数据目录占用最大的表。使用常规查询找不出来,于是到数据目录下分析filenode,找到3个filenode占了400G。然而根据filenode从pg_class中确找不到对应的relfilenode。
查询方法为:

select oid,relname,relfilenode from pg_class where relfilenode=...

分析

PostgreSQL中的表会有一个RelFileNode值指定这个表在磁盘上的文件名(外部表、分区表除外)。一般情况下在pg_class表的relfilenode字段可以查出这个值,但是有一些特定表在relfilenode字段的查询结果是0,如某些系统表。
另外,对于普通表,将对表执行truncate,vacuum full等操作后,会重写这个表的数据,也会引发这个表relfilenode值的变更。
具体可以参考文章https://blog.csdn.net/weixin_46199817/article/details/113108402 中的描述。
这意味着,某个对象的Oid和RelFileNode可能并不能完全对应起来,所以,当在磁盘目录中找到一个filenode,但从pg_class中找不到也是有可能的。

解决

通过pg_relation_filenode()将oid转化为relfilenode,其结果永远是正确的,比从pg_class中查询更为准确。
因此,针对这位同学的需求,既然已经从磁盘文件中找到对应占用空间大的oid,我们就可以通过以下语句找到对应的表。

select oid,pg_relation_filenode(oid),relname from pg_class where pg_relation_filenode(oid)=...

正常情况下,通过以上命令就能找到对应的表了。
不过,如果之前系统发生了异常情况,比如在大量写入数据时突然系统宕机,那么有可能导致数据文件残留的情况。针对于这种情况,我们可以通过查看对应产生文件的时间是否是异常发生的时间,一般情况下能对应上。针对这种情况,这样的文件可以直接删除即可,当然,为了保险起见,我们可以备份到一个别的目录。

http://www.tj-hxxt.cn/news/88599.html

相关文章:

  • 怎么做百度网站网站关键词有哪些
  • 淘客网站怎么做代理如何宣传推广产品
  • 网站外链可以在哪些平台上做外链软文平台有哪些
  • 电子商务网站建设模板代码关键词怎么选择技巧
  • 杭州网站建设公司联系方式餐饮营销引流都有什么方法
  • 建设企业网站就等于开展网络营销吗seo搜索优化
  • 手机端怎么变成电脑端石家庄seo按天扣费
  • 青岛网站开发培训价格百度搜索排名
  • 海阔淘宝客助手wordpress演示站 | 紫色清新商城模板全网营销推广 好做吗
  • 易进网站建设推广网络营销的主要手段
  • 高端网站制作报价发帖推广
  • 技能培训中心网站建设销售找客户最好的app
  • 深一网站建设招聘找培训机构的平台
  • 政府网站安全如何做seo做得比较好的公司
  • 网站超市源码哪个好关键词推广效果分析
  • dedecms导航网站模板如何优化网站
  • 装修网站模板百度广告服务商
  • 做游戏网站有钱赚吗做网站需要多少钱 都包括什么
  • 网站建设厦门企业网站推广方法实验报告
  • 正规做兼职的网站外贸谷歌推广
  • 怎样简单做网站石家庄网站关键词推广
  • 龙岗网站建设要多少钱seoshanghai net
  • 室内设计就业前景如何日照seo公司
  • 无锡网络公司无锡网站设计百度权重查询
  • 信阳做网站 汉狮网络东莞百度推广排名
  • 专业建设购物网站如何制作网站二维码
  • 做网站买别人的服务器企业邮箱申请
  • 网站突然被降权怎么办广告营销顾问
  • wordpress教程书网页优化包括什么
  • 网站首页制作教程视频广东seo网站设计