【赵渝强老师】PostgreSQL的数据文件

1

​PostgreSQL数据库的物理存储结构主要是指硬盘上存储的文件,包括:数据文件、日志文件、参数文件、控制文件、WAL预写日志文件等等。下面重点讨论一下PostgreSQL的数据文件。

image.png
点击这里查看视频讲解:【赵渝强老师】PostgreSQL的数据文件

顾名思义,数据文件用于存储数据,文件名以oid命名。对于超出1G的数据文件,PostgreSQL会自动将其拆分为多个文件来存储,而拆分的文件名将由pg_class中的relfilenode字段来决定。

通过下面的步骤可以确定表所对应的数据文件。

(1)查看数据库的oid。

postgres=# select oid,datname from pg_database;

# 输出的信息如下:  
  oid  |  datname  
-------+-----------
 13580 | postgres
     1 | template1
 13579 | template0
(3 rows)

# 注意:13580是数据库postgres的OID。

(2)查询前面创建的testtable1表的OID。

postgres=# select oid,relname,relkind,relfilenode from pg_class
postgres-# where relname ='testtable1';

# 输出的信息如下:  
  oid  |  relname   | relkind | relfilenode 
-------+------------+---------+-------------
 16395 | testtable1 | r       |       16395
(1 row)

# 注意:16395是表testtable1的OID。

(3)查看表空间mydemotbs对应的目录,如下图所示。

2

posted @ 2025-12-17 11:37  赵渝强老师  阅读(3)  评论(0)    收藏  举报