出于教育目的,我想检查 PostgreSQL 存储表中数据的文件是如何存储的。我该怎么办?
我尝试用记事本打开它,但结构已损坏。 “我应该如何打开此文件,使其在正常页面视图中的结构如下:
* +----------------+---------------------------------+
* | PageHeaderData | linp1 linp2 linp3 ... |
* +-----------+----+---------------------------------+
* | ... linpN | |
* +-----------+--------------------------------------+
* | ^ pd_lower |
* | |
* | v pd_upper |
* +-------------+------------------------------------+
* | | tupleN ... |
* +-------------+------------------+-----------------+
* | ... tuple3 tuple2 tuple1 | "special space" |
* +--------------------------------+-----------------+
这些文件是二进制文件,而不是文本文件。该图像只是一个概念图。您需要一个十六进制编辑器来查看数据,但如果您想以人类可读的形式查看它们,您应该使用 pageinspect 扩展中的函数,特别是
heap_page_items()
和 heap_page_item_attrs()
函数。