VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

oid2name

功能描述

oid2name是一个帮助用户检查被Vastbase使用的文件结构的工具程序,它连接到一个目标数据库并且抽取OID、文件节点或表名信息,也可以显示数据库OID或表空间OID。

注意事项

使用oid2name工具要求数据库服务器是正在运行的并且其系统目录没有损坏。

语法格式

oid2name [OPTION]...

参数说明

  • -d DBNAME

    指定要连接的数据库名称。

    如果没有指定任何-o-f或者-t ,但是给出了 -d ,它将列出指定的数据库中的所有表。在这种模式下,-S-i选项控制什么会被列出。

  • -f FILENODE

    显示具有指定文件节点的表的信息。

  • -H HOSTNAME

    要连接的数据库主机名称(IP)。

  • -i

    在显示信息中包括索引和序列。

  • -o OID

    显示具有指定OID的表的信息。

  • -p PORT

    数据库服务器的端口。

  • -P

    指定该选项表示从pg_partition系统表查询,而不是从pg_class查询。如果未指定该选项默认从pg_class系统表提供查询。

  • -q

    安静模式(不显示结果的头部信息)。

  • -s

    显示表空间OID。

  • -S

    显示信息包含系统对象。

  • -t TABLE

    显示指定表的信息,实际上该选项是一个LIKE模式,因此可以使用类似foo%之类的格式。

    例如:显示数据库db_mysql下面以test开头的表可以使用如下命令:

    oid2name -d db_mysql -t test%
    
  • -U NAME

    用于连接的用户名。

  • -V, --version

    打印oid2name版本并退出。

  • -x

    为要显示的每个对象显示更多信息:表空间名、模式名以及OID。

  • -?, --help

    显示帮助信息。

使用示例

1、使用如下命令显示数据库服务器上都有哪些数据库。

oid2name

返回结果为:

All databases:
    Oid  Database Name  Tablespace
----------------------------------
  16591       db_mysql  pg_default
  25033          db_pg  pg_default
  25300      oracle_db  pg_default
  16554       postgres  pg_default
  25016              t  pg_default
  16548      template0  pg_default
      1      template1  pg_default
  25313      transtest  pg_default
  16642            ttt  pg_default
  16553       vastbase  pg_default

2、显示当前数据库服务器上的所有表空间的oid。

oid2name -s

显示结果为:

All tablespaces:
   Oid  Tablespace Name
-----------------------
  1663       pg_default
  1664        pg_global

3、当我们想要知道某个数据库中有哪些对象,可以执行如下命令。

首先,进去vastbase(16553)的目录:

cd $PGDATA/base/16553

获取前五个数据库对象(按照尺寸排序):

ls -lS * | head -5

显示结果为:

-rw------- 1 vb_210 vb_210 134217728 Mar 31 15:15 1
-rw------- 1 vb_210 vb_210  27680768 Apr 13 12:08 25354
-rw------- 1 vb_210 vb_210  11280384 Apr 13 12:08 25360
-rw------- 1 vb_210 vb_210  11255808 Apr 13 12:08 25357
-rw------- 1 vb_210 vb_210  11075584 Apr 14 14:32 24994

4、当我们好奇文件25354是什么时,可以执行如下命令(可以混合选项,并且可以使用-x得到更多细节):

oid2name -d vastbase -f 25354
oid2name -d vastbase -f 25354 -f 24994
oid2name -d vastbase -f 25354 -x

返回结果为:

From database "vastbase":
  Filenode  Table Name
----------------------
     25354           t

From database "vastbase":
  Filenode  Table Name
----------------------
     25354           t
     24994      test_a


From database "vastbase":
  Filenode  Table Name    Oid  Schema  Tablespace
-------------------------------------------------
     25354           t  25354      vb  pg_default