当我进入sql-8.2/base/
检查我的表占用多少空间时,有很多文件以数字命名。如何找到存储该表的特定表和索引的特定文件?
-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
答案 0 :(得分:22)
每个目录代表一个数据库(通过create database
创建)。该数字是数据库的oid。要查看oid及其名称,请运行以下语句:
select oid, datname
from pg_database;
在每个目录中,每个文件对应pg_class
中的一个条目,其中oid与目录中文件的编号匹配:
您可以通过运行语句来查看oids及其相关关系:
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;
您可能还想查看手册
顺便说一下:如果你真的还在运行8.2,你应该尽快升级。
答案 1 :(得分:5)
select pg_relation_filepath('OID or name of a table, index, sequence, or toast table');
例如:
select pg_relation_filepath('flush_history');
Returns base/83780/153211 which you will find in your data directory.
http://www.postgresql.org/docs/current/static/functions-admin.html
答案 2 :(得分:4)
检查表使用的空间:
SELECT pg_size_pretty(pg_total_relation_size('table_name_here'))
它将为您提供包含索引和“toast”表的表的大小。详情here。