当我进入sql-8.2 / base /以检查我的表占用了多少空间,有很多文件由一个数字命名.我如何找到存储该表的特定表和索引的特定文件?
例如,我按日期排序文件(最新的),但在特定时间段有几个:
@H_403_5@
- -rw------- 1 postgres sql 1.0G Dec 4 13:41 15426233
- -rw------- 1 postgres sql 149M Dec 4 13:41 15426233.4
- -rw------- 1 postgres sql 1.0G Dec 4 13:41 15426233.3
- drwx------ 3 postgres sql 75K Dec 4 13:40 .
- -rw------- 1 postgres sql 1.0G Dec 4 13:34 15426233.2
- -rw------- 1 postgres sql 1.0G Dec 4 13:28 15426233.1
- -rw------- 1 postgres sql 3.6M Dec 4 11:23 1249
- -rw------- 1 postgres sql 584K Dec 4 11:23 2659
- -rw------- 1 postgres sql 672K Dec 4 11:23 2663
- -rw------- 1 postgres sql 136K Dec 4 11:23 2662
- -rw------- 1 postgres sql 848K Dec 4 11:23 2608
- -rw------- 1 postgres sql 2.6M Dec 4 11:23 2658
- -rw------- 1 postgres sql 600K Dec 4 11:23 2674
- -rw------- 1 postgres sql 56K Dec 4 11:23 2679
- -rw------- 1 postgres sql 632K Dec 4 11:23 2673
- -rw------- 1 postgres sql 72K Dec 4 11:23 2678
- -rw------- 1 postgres sql 1.8M Dec 4 11:22 2619
- -rw------- 1 postgres sql 112K Dec 4 11:21 2696
- -rw------- 1 postgres sql 1007M Dec 4 11:21 15426228.5
- -rw------- 1 postgres sql 1.0G Dec 4 11:19 15426228.4
- -rw------- 1 postgres sql 1.0G Dec 4 11:19 15426228.3
- -rw------- 1 postgres sql 1.0G Dec 4 11:18 15426228.2
- -rw------- 1 postgres sql 1.0G Dec 4 11:17 15426228.1
- -rw------- 1 postgres sql 1.0G Dec 4 11:16 15426228
@H_403_5@
每个目录表示数据库(通过创建数据库创建).数字是数据库的oid.要查看oid及其名称,请运行以下语句:
- select oid,datname
- from pg_database;
在每个目录中,每个文件对应于pg_class中的一个条目,其中oid与目录中文件的编号相匹配:
您可以通过运行语句来查看它们与它们之间的关系:
- select cl.relfilenode,nsp.nspname as schema_name,cl.relname,cl.relkind
- from pg_class cl
- join pg_namespace nsp on cl.relnamespace = nsp.oid;
您可能还想查看手册
> Determining Disk Usage@H_403_20@> Database File Layout@H_403_20@> System catalogs
Btw:如果你仍然运行8.2,你应该尽快升级.
@H_403_5@