oid2name

一个将 OID 和文件节点转换为人类可读值的实用程序

oid2name 是一个作为 contrib 模块 提供的实用程序,用于将数据目录中的 OID文件节点 转换为人类可读的值。它需要一个正在运行且一致的数据库才能运行(因此,它并不是一个真正有用的取证工具)。

oid2namePostgreSQL 7.1 中添加。

更改历史记录

示例

列出数据库

$ oid2name -U postgres -d postgres -p 5432
All databases:
    Oid  Database Name  Tablespace
----------------------------------
  11788       postgres  pg_default
  16385           test  pg_default
  11787      template0  pg_default
      1      template1  pg_default

创建一个具有不同 OID文件节点 的表

postgres=# CREATE TABLE filenode_test (id INT);
CREATE TABLE

postgres=# SELECT oid, relfilenode FROM pg_class WHERE relname='filenode_test';
  oid  | relfilenode 
-------+-------------
 16453 |       16453
(1 row)

postgres=# VACUUM FULL filenode_test ;
VACUUM

postgres=# SELECT oid, relfilenode FROM pg_class WHERE relname='filenode_test';
  oid  | relfilenode 
-------+-------------
 16453 |       16456
(1 row)

使用 oid2name 从 OID(选项 -o)和/或文件节点(选项 -f)提取表名

$ oid2name -U postgres -d postgres -p 5432 -o 16453
From database "postgres":
  Filenode     Table Name
-------------------------
     16456  filenode_test

$ oid2name -U postgres -d postgres -p 5432 -f 16456
From database "postgres":
  Filenode     Table Name
-------------------------
     16456  filenode_test

使用 -x 选项显示其他详细信息

$ oid2name -U postgres -d postgres -p 5432 -o 16453 -x
From database "postgres":
  Filenode     Table Name    Oid  Schema  Tablespace
----------------------------------------------------
     16456  filenode_test  16453  public  pg_default

PostgreSQL 文档 包含一些其他有用的示例,包括用于对从数据目录中获取的文件名选择进行操作的 shell 命令。

分类

Contrib 模块PostgreSQL 内部存储实用程序

另请参阅

OID文件节点

反馈

提交任何关于“oid2name”的评论、建议或更正 此处