# oid2名称

oid2name — 解析 PostgreSQL 数据目录中的 OID 和文件节点

# 概要

oid2名称 [选项...]

# 描述

oid2name 是一个实用程序,可帮助管理员检查 PostgreSQL 使用的文件结构。要使用它,您需要熟悉数据库文件结构,具体描述见第 70 章.

# 笔记

“oid2name”这个名字是历史性的,实际上相当具有误导性,因为大多数时候当你使用它时,你会真正关心表的文件节点号(这是在数据库目录中可见的文件名)。确保您了解表 OID 和表文件节点之间的区别!

oid2name 连接到目标数据库并提取 OID、文件节点和/或表名信息。您还可以让它显示数据库 OID 或表空间 OID。

# 选项

oid2name 接受以下命令行参数:

-f *文件节点*
--文件节点=*文件节点*

显示带有文件节点的表的信息*文件节点*.

-一世
--索引

在列表中包含索引和序列。

-o *样的*
--oid=*样的*

显示带有 OID 的表的信息*样的*.

-q
- 安静的

省略标题(对脚本很有用)。

-s
--表空间

显示表空间 OID。

-S
--系统对象

包括系统对象(那些在信息模式, pg_toastpg_catalog模式)。

-t *表名模式*
--表=*表名模式*

显示表匹配信息*表名模式*.

-V
- 版本

打印 oid2name 版本并退出。

-x
--扩展

显示有关显示的每个对象的更多信息:表空间名称、模式名称和 OID。

-?
- 帮助

显示有关 oid2name 命令行参数的帮助,然后退出。

oid2name 还接受以下命令行参数作为连接参数:

-d *数据库*
--dbname=*数据库*

要连接的数据库。

-h *主持人*
--主机=*主持人*

数据库服务器的主机。

-H *主持人*

数据库服务器的主机。这个参数的使用是已弃用从 PostgreSQL 12 开始。

-p *港口*
--端口=*港口*

数据库服务器的端口。

-U *用户名*
--用户名=*用户名*

要连接的用户名。

要显示特定表格,请使用以下选项选择要显示的表格-o,-f和/或-t.-o需要一个 OID,-f接受一个文件节点,并且-t需要一个表名(实际上,它是一个模式,所以你可以使用类似的东西富%)。您可以根据需要使用任意数量的这些选项,并且列表将包括与任何选项匹配的所有对象。但请注意,这些选项只能显示由给出的数据库中的对象-d.

如果你不给任何-o,-f或者-t,但一定要给-d,它将列出数据库中的所有表-d.在这种模式下,-S-一世选项控制列出的内容。

如果你不给-d或者,它会显示数据库 OID 列表。或者你可以给-s获取表空间列表。

# 环境

PGHOST
PGPORT
PG用户

默认连接参数。

与大多数其他 PostgreSQL 实用程序一样,此实用程序也使用 libpq 支持的环境变量(请参阅第 34.15 节)。

环境变量PG_COLOR指定是否在诊断消息中使用颜色。可能的值为总是,汽车绝不.

# 笔记

oid2name 需要具有未损坏系统目录的正在运行的数据库服务器。因此,它仅用于从灾难性数据库损坏情况中恢复的有限用途。

# 例子

$ # what's in this database server, anyway?
$ oid2name
All databases:
    Oid  Database Name  Tablespace
## Author

 B. Palmer `<[bpalmer@crimelabs.net](mailto:bpalmer@crimelabs.net)>`