您的位置 首页 postgres

postgres data 目录结构

PostgreSQL 目录结构

【PG】PostgreSQL 目录结构-CSDN博客

PostgreSQL之base和global目录完全解析

PostgreSQL之base和global目录完全解析

1. base目录

对于集簇里的每个数据库,在$PGDATA/base里都有一个子目录对应,子目录的名字为该数据库在 pg_database里的 OID。
#查看各个数据库的oid

select oid,datname from pg_database;

postgres 是我的库名

每一张表的数据(大部分)又是放在 $PGDATA/base/{dboid}/{relfilenode} 这个文件里面,relfilenode一般情况下和和tboid一致,但有些情况下也会变化,如TRUNCATE、REINDEX、CLUSTER以及某些形式的ALTER TABLE。

#查询relowner

select oid,rolname from pg_authid where rolname='postgres';
#查询pg_class 
找到 id 对应的 表名
select relname ,relowner, relfilenode,reltoastrelid from pg_class;

 

 

包含文件

在$PGDATA/base/{dboid}中通常会包含三种文件:例如16395、16395_fsm、16395_vm,分别是该数据库对应主表数据文件或索引数据文件、以_fsm(Free Space Mapping)后缀文件,其对应的空闲空间映射文件、以_vm(visibility map)后缀文件,其对应的可见性映射文件。

数据文件

        在表或者索引超过1GB之后,它就被划分成1GB大小的段。第一个段的文件名和文件节点相同,随后的段被命名为 filenode.1、filenode.2等等。这样的安排避免了在某些有文件大小限制的平台上的问题。
PostgreSQL "表膨胀" 的救世主
ClickHouse数据目录完全解析
ClickHouse优化典藏

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章