瀚高数据库
目录
文档用途
详细信息

文档用途
oid2name是一个帮助管理员检查PostgreSQL使用的文件结构的工具程序。本文主要用于介绍与pg10.5相比,pg12在oid2name命令中的新增选项。

详细信息
在pg12版本中,对oid2name命令选项进行了完善,同pg10相比,现在长名称选项已经可以使用。

1、语法

[postgres@mode2 ~]$ oid2name --help
oid2name helps examining the file structure used by PostgreSQL.
Usage:
oid2name [OPTION]...
Options:
-f, --filenode=FILENODE 显示给定file node的表的信息
-i, --indexes 同时显示索引跟序列信息
-o, --oid=OID 显示给定OID的表的信息
-q, --quiet 安静模式 (不显示结果的头部信息)
-s, --tablespaces 显示所有的表空间
-S, --system-objects 同时显示系统对象
-t, --table=TABLE 显示给定名称的表的信息
-V, --version 显示版本信息,然后退出
-x, --extended 扩展 (显示额外的列)
-?, --help s显示帮助信息,然后退出
Connection options:
-d, --dbname=DBNAME 要连接的数据库
-h, --host=HOSTNAME 要连接的数据库主机名称(IP)
-H -h
-p, --port=PORT 要连接的数据库的端口号
-U, --username=USERNAME 使用指定的用户连接数据库
不加参数的情况下默认显示所有数据库的OID

2、举例

① --filenode

##查询表的oid,relfilenode

postgres=# select oid,relfilenode,relname from pg_class;
oid | relfilenode | relname
-------+-------------+-----------------------------------------------
16384 | 16384 | test
16387 | 16387 | test1
16390 | 16390 | test2
16393 | 16393 | test3



##查询给定file node值的表的信息

[postgres@mode2 ~]$ oid2name --filenode=16384
From database "postgres":
Filenode Table Name
----------------------
16384 test

② --oid=OID

[postgres@mode2 ~]$ oid2name --oid=16387
From database "postgres":
Filenode Table Name
----------------------
16387 test1

③ --tablespaces

[postgres@mode2 ~]$ oid2name --tablespaces
All tablespaces:
Oid Tablespace Name
-----------------------
1663 pg_default
1664 pg_global

④ --quiet

[postgres@mode2 ~]$ oid2name --tablespaces --quiet
1663 pg_default
1664 pg_global

⑤ 连接选项

[postgres@mode2 data]$ oid2name --host=192.168.230.50 --username=test --dbname=test --table=a
From database "test":
Filenode Table Name
----------------------
16398 a