【PostgreSQL里pg_filenode.map文件的意义】

一、关于pg_filenode.map

通常情况下,PostgreSQL中每张表在磁盘上都有与之相关的文件,而这些文件的名字便是relfilenode,我们可以通过pg_class的relfilenode字段去查询。

postgres=# select relname,oid,relfilenode,reltablespace from pg_class where relname in ('pg_database','pg_class','pg_type','pg_namespace','pg_attribute','tab_1');

   relname    |  oid  | relfilenode | reltablespace
--------------+-------+-------------+---------------
 pg_type      |  1247 |           0 |             0
 tab_1        | 33125 |       33136 |             0
 pg_namespace |  2615 |        2615 |             0
 pg_database  |  1262 |           0 |          1664
 pg_attribute |  1249 |           0 |             0
 pg_class     |  1259 |           0 |             0
(6 rows)

对于一张普通表,其relfilenode和oid默认是一样的。系统表有的也是。但当我们对该表进行了例如vacuum full、truncate之类的操作,表重建后,那么relfilenode便会发生变化。

pg_class视图里,通过reltablespace字段我们也可以发现分为两类系统表:一类是pg_type、pg_attribute、pg_proc和pg_class,它们是非共享的表,在内核中我们称为Nail表。而另一类则是reltablespace为1664的,即在pg_global表空间里的共享表。

有一部分特殊的表我们会发现其对应的表relfilenode为0,官方文档的解释为:0表示这是一个“映射”关系,其磁盘文件名取决于底层状态。对于这种访问十分频繁的系统表,不希望每次都是从一些其它的系统表去查询,这样性能便会非常低,它们便是通过pg_filenode.map文件去进行管理的。pg_filenode.map在base的目录每个库的目录以及global目录下均有一个。

postgres@ubuntu-linux-22-04-desktop:~/data-16$ ll global/pg_filenode.map
-rw------- 1 postgres postgres 524 Dec 26 01:06 global/pg_filenode.map
postgres@ubuntu-linux-22-04-desktop:~/data-16$ ll base/*/pg_filenode.map
-rw------- 1 postgres postgres 524 Dec 26 01:06 base/1/pg_filenode.map
-rw------- 1 postgres postgres 524 Jan 17 10:40 base/13008/pg_filenode.map
-rw------- 1 postgres postgres 524 Dec 26 01:06 base/16385/pg_filenode.map
-rw------- 1 postgres postgres 524 Dec 26 01:06 base/4/pg_filenode.map

在global和base对应数据库的pg_filenode.map文件中,将这些系统表的oid与relfileno做映射,文件的大小为512,刚好是一个OS disk sector的大小。这个文件最多存放62条系统catalog表的记录

二、base目录对应数据库目录下的pg_filenode.map(非共享)

postgres@ubuntu-linux-22-04-desktop:~/data-16/base/13008$ pg_filedump -m pg_filenode.map

*******************************************************************
* PostgreSQL File/Block Formatted Dump Utility
*
* File: pg_filenode.map
* Options used: -m
*******************************************************************
Magic Number: 0x592717 (CORRECT)
Num Mappings: 17
Detailed Mappings list:
OID: 1259       Filenode: 41317
OID: 1249       Filenode: 1249
OID: 1255       Filenode: 1255
OID: 1247       Filenode: 1247
OID: 2836       Filenode: 2836
OID: 2837       Filenode: 2837
OID: 4171       Filenode: 4171
OID: 4172       Filenode: 4172
OID: 2690       Filenode: 2690
OID: 2691       Filenode: 2691
OID: 2703       Filenode: 2703
OID: 2704       Filenode: 2704
OID: 2658       Filenode: 2658
OID: 2659       Filenode: 2659
OID: 2662       Filenode: 41320
OID: 2663       Filenode: 41321
OID: 3455       Filenode: 41322

可以结合脚本过滤,原本数据库里系统表和oid的对应关系如下,其中pg_toast_1255和pg_toast_1247分别为pg_proc和pg_type的toast表

//拼接所有的oid,并加上相关字段,便于后边查询对象。
postgres@ubuntu-linux-22-04-desktop:~/data-16/base/13008$ pg_filedump -m pg_filenode.map | grep OID| awk '{print "or oid="$2}'|awk 'ORS=NR%17?" ":"\n"{print}'

or oid=1259 or oid=1249 or oid=1255 or oid=1247 or oid=2836 or oid=2837 or oid=4171 or oid=4172 or oid=2690 or oid=2691 or oid=2703 or oid=2704 or oid=2658 or oid=2659 or oid=2662 or oid=2663 or oid=3455

postgres=#  select relname,oid,relfilenode,reltablespace from pg_class where oid=1259 or oid=1249 or oid=1255 or oid=1247 or oid=2836 or oid=2837 or oid=4171 or oid=4172 or oid=2690 or oid=2691 or oid=2703 or oid=2704 or oid=2658 or oid=2659 or oid=2662 or oid=2663 or oid=3455;
              relname              | oid  | relfilenode | reltablespace
-----------------------------------+------+-------------+---------------
 pg_type                           | 1247 |           0 |             0
 pg_toast_1255                     | 2836 |           0 |             0
 pg_toast_1247                     | 4171 |           0 |             0
 pg_toast_1255_index               | 2837 |           0 |             0
 pg_toast_1247_index               | 4172 |           0 |             0
 pg_proc_oid_index                 | 2690 |           0 |             0
 pg_proc_proname_args_nsp_index    | 2691 |           0 |             0
 pg_type_oid_index                 | 2703 |           0 |             0
 pg_type_typname_nsp_index         | 2704 |           0 |             0
 pg_attribute_relid_attnam_index   | 2658 |           0 |             0
 pg_attribute_relid_attnum_index   | 2659 |           0 |             0
 pg_class_oid_index                | 2662 |           0 |             0
 pg_class_relname_nsp_index        | 2663 |           0 |             0
 pg_class_tblspc_relfilenode_index | 3455 |           0 |             0
 pg_attribute                      | 1249 |           0 |             0
 pg_proc                           | 1255 |           0 |             0
 pg_class                          | 1259 |           0 |             0
(17 rows)

也可以使用如下脚本,查看存储的对象和oid及Filenode

 pg_filedump -m pg_filenode.map | grep OID | grep 1247 | awk '{print "Relname:pg_type " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2836 | awk '{print "Relname:pg_toast_1255 " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 4171 | awk '{print "Relname:pg_toast_1247 " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2837 | awk '{print "Relname:pg_toast_1255_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 4172 | awk '{print "Relname:pg_toast_1247_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2690 | awk '{print "Relname:pg_proc_oid_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2691 | awk '{print "Relname:pg_proc_proname_args_nsp_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2703 | awk '{print "Relname:pg_type_oid_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2704 | awk '{print "Relname:pg_type_typname_nsp_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2658 | awk '{print "Relname:pg_attribute_relid_attnam_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2659 | awk '{print "Relname:pg_attribute_relid_attnum_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2662 | awk '{print "Relname:pg_class_oid_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2663 | awk '{print "Relname:pg_class_relname_nsp_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 3455 | awk '{print "Relname:pg_class_tblspc_relfilenode_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 1249 | awk '{print "Relname:pg_attribute " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 1255 | awk '{print "Relname:pg_proc " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 1259 | awk '{print "Relname:pg_class " $1" "$2" "$3" "$4}'

结果如下

Relname:pg_type OID: 1247 Filenode: 1247
Relname:pg_toast_1255 OID: 2836 Filenode: 2836
Relname:pg_toast_1247 OID: 4171 Filenode: 4171
Relname:pg_toast_1255_index OID: 2837 Filenode: 2837
Relname:pg_toast_1247_index OID: 4172 Filenode: 4172
Relname:pg_proc_oid_index OID: 2690 Filenode: 2690
Relname:pg_proc_proname_args_nsp_index OID: 2691 Filenode: 2691
Relname:pg_type_oid_index OID: 2703 Filenode: 2703
Relname:pg_type_typname_nsp_index OID: 2704 Filenode: 2704
Relname:pg_attribute_relid_attnam_index OID: 2658 Filenode: 2658
Relname:pg_attribute_relid_attnum_index OID: 2659 Filenode: 2659
Relname:pg_class_oid_index OID: 2662 Filenode: 41320
Relname:pg_class_relname_nsp_index OID: 2663 Filenode: 41321
Relname:pg_class_tblspc_relfilenode_index OID: 3455 Filenode: 41322
Relname:pg_attribute OID: 1249 Filenode: 1249
Relname:pg_proc OID: 1255 Filenode: 1255
Relname:pg_class OID: 1259 Filenode: 41317

三、global目录下的pg_filenode.map(共享)

//拼接所有的oid,并加上相关字段,便于后边查询对象。
postgres@ubuntu-linux-22-04-desktop:~/data-16/global$  pg_filedump -m pg_filenode.map | grep OID| awk '{print "or oid="$2}'|awk 'ORS=NR%17?" ":"\n"{print}'
or oid=1262 or oid=2964 or oid=1213 or oid=1260 or oid=1261 or oid=1214 or oid=2396 or oid=6000 or oid=3592 or oid=6243 or oid=6100 or oid=4177 or oid=4178 or oid=2966 or oid=2967 or oid=4185 or oid=4186
or oid=4175 or oid=4176 or oid=2846 or oid=2847 or oid=4181 or oid=4182 or oid=4060 or oid=4061 or oid=6244 or oid=6245 or oid=4183 or oid=4184 or oid=2671 or oid=2672 or oid=2965 or oid=2697 or oid=2698
or oid=2676 or oid=2677 or oid=6303 or oid=2694 or oid=2695 or oid=6302 or oid=1232 or oid=1233 or oid=2397 or oid=6001 or oid=6002 or oid=3593 or oid=6246 or oid=6247 or oid=6114 or oid=6115

取对应包含的系统表。

postgres=#  select relname,oid,relfilenode,reltablespace from pg_class where oid=1262 or oid=2964 or oid=1213 or oid=1260 or oid=1261 or oid=1214 or oid=2396 or oid=6000 or oid=3592 or oid=6243 or oid=6100 or oid=4177 or oid=4178 or oid=2966 or oid=2967 or oid=4185 or oid=4186 or oid=4175 or oid=4176 or oid=2846 or oid=2847 or oid=4181 or oid=4182 or oid=4060 or oid=4061 or oid=6244 or oid=6245 or oid=4183 or oid=4184 or oid=2671 or oid=2672 or oid=2965 or oid=2697 or oid=2698 or oid=2676 or oid=2677 or oid=6303 or oid=2694 or oid=2695 or oid=6302 or oid=1232 or oid=1233 or oid=2397 or oid=6001 or oid=6002 or oid=3593 or oid=6246 or oid=6247 or oid=6114 or oid=6115;
                 relname                 | oid  | relfilenode | reltablespace
-----------------------------------------+------+-------------+---------------
 pg_toast_1262_index                     | 4178 |           0 |          1664
 pg_toast_2964_index                     | 2967 |           0 |          1664
 pg_toast_1213_index                     | 4186 |           0 |          1664
 pg_toast_1260_index                     | 4176 |           0 |          1664
 pg_toast_2396_index                     | 2847 |           0 |          1664
 pg_toast_6000_index                     | 4182 |           0 |          1664
 pg_toast_3592_index                     | 4061 |           0 |          1664
 pg_toast_6243_index                     | 6245 |           0 |          1664
 pg_toast_6100_index                     | 4184 |           0 |          1664
 pg_database_datname_index               | 2671 |           0 |          1664
 pg_database_oid_index                   | 2672 |           0 |          1664
 pg_db_role_setting_databaseid_rol_index | 2965 |           0 |          1664
 pg_tablespace_oid_index                 | 2697 |           0 |          1664
 pg_tablespace_spcname_index             | 2698 |           0 |          1664
 pg_authid_rolname_index                 | 2676 |           0 |          1664
 pg_authid_oid_index                     | 2677 |           0 |          1664
 pg_auth_members_oid_index               | 6303 |           0 |          1664
 pg_auth_members_role_member_index       | 2694 |           0 |          1664
 pg_auth_members_member_role_index       | 2695 |           0 |          1664
 pg_auth_members_grantor_index           | 6302 |           0 |          1664
 pg_shdepend_depender_index              | 1232 |           0 |          1664
 pg_shdepend_reference_index             | 1233 |           0 |          1664
 pg_shdescription_o_c_index              | 2397 |           0 |          1664
 pg_replication_origin_roiident_index    | 6001 |           0 |          1664
 pg_replication_origin_roname_index      | 6002 |           0 |          1664
 pg_shseclabel_object_index              | 3593 |           0 |          1664
 pg_parameter_acl_parname_index          | 6246 |           0 |          1664
 pg_parameter_acl_oid_index              | 6247 |           0 |          1664
 pg_subscription_oid_index               | 6114 |           0 |          1664
 pg_subscription_subname_index           | 6115 |           0 |          1664
 pg_authid                               | 1260 |           0 |          1664
 pg_toast_6243                           | 6244 |           0 |          1664
 pg_toast_6100                           | 4183 |           0 |          1664
 pg_toast_1262                           | 4177 |           0 |          1664
 pg_toast_2964                           | 2966 |           0 |          1664
 pg_toast_1213                           | 4185 |           0 |          1664
 pg_toast_1260                           | 4175 |           0 |          1664
 pg_toast_2396                           | 2846 |           0 |          1664
 pg_toast_6000                           | 4181 |           0 |          1664
 pg_toast_3592                           | 4060 |           0 |          1664
 pg_database                             | 1262 |           0 |          1664
 pg_db_role_setting                      | 2964 |           0 |          1664
 pg_tablespace                           | 1213 |           0 |          1664
 pg_auth_members                         | 1261 |           0 |          1664
 pg_shdepend                             | 1214 |           0 |          1664
 pg_shdescription                        | 2396 |           0 |          1664
 pg_replication_origin                   | 6000 |           0 |          1664
 pg_shseclabel                           | 3592 |           0 |          1664
 pg_parameter_acl                        | 6243 |           0 |          1664
 pg_subscription                         | 6100 |           0 |          1664
(50 rows)

也可以使用如下脚本

 pg_filedump -m pg_filenode.map | grep OID | grep 4178| awk '{print "Relname:pg_toast_1262_index  " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2967| awk '{print "Relname:pg_toast_2964_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 4186| awk '{print "Relname:pg_toast_1213_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 4176| awk '{print "Relname:pg_toast_1260_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2847| awk '{print "Relname:pg_toast_2396_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 4182| awk '{print "Relname:pg_toast_6000_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 4061| awk '{print "Relname:pg_toast_3592_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 6245| awk '{print "Relname:pg_toast_6243_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 4184| awk '{print "Relname:pg_toast_6100_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2671| awk '{print "Relname:pg_database_datname_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2672| awk '{print "Relname:pg_database_oid_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2965| awk '{print "Relname:pg_db_role_setting_databaseid_rol_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2697| awk '{print "Relname:pg_tablespace_oid_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2698| awk '{print "Relname:pg_tablespace_spcname_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2676| awk '{print "Relname:pg_authid_rolname_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2677| awk '{print "Relname:pg_authid_oid_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 6303| awk '{print "Relname:pg_auth_members_oid_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2694| awk '{print "Relname:pg_auth_members_role_member_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2695| awk '{print "Relname:pg_auth_members_member_role_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 6302| awk '{print "Relname:pg_auth_members_grantor_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 1232| awk '{print "Relname:pg_shdepend_depender_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 1233| awk '{print "Relname:pg_shdepend_reference_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2397| awk '{print "Relname:pg_shdescription_o_c_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 6001| awk '{print "Relname:pg_replication_origin_roiident_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 6002| awk '{print "Relname:pg_replication_origin_roname_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 3593| awk '{print "Relname:pg_shseclabel_object_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 6246| awk '{print "Relname:pg_parameter_acl_parname_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 6247| awk '{print "Relname:pg_parameter_acl_oid_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 6114| awk '{print "Relname:pg_subscription_oid_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 6115| awk '{print "Relname:pg_subscription_subname_index " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 1260| awk '{print "Relname:pg_authid " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 6244| awk '{print "Relname:pg_toast_6243 " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 4183| awk '{print "Relname:pg_toast_6100 " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 4177| awk '{print "Relname:pg_toast_1262 " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2966| awk '{print "Relname:pg_toast_2964 " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 4185| awk '{print "Relname:pg_toast_1213 " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 4175| awk '{print "Relname:pg_toast_1260 " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2846| awk '{print "Relname:pg_toast_2396 " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 4181| awk '{print "Relname:pg_toast_6000 " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 4060| awk '{print "Relname:pg_toast_3592 " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 1262| awk '{print "Relname:pg_database " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2964| awk '{print "Relname:pg_db_role_setting " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 1213| awk '{print "Relname:pg_tablespace " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 1261| awk '{print "Relname:pg_auth_members " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 1214| awk '{print "Relname:pg_shdepend " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 2396| awk '{print "Relname:pg_shdescription " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 6000| awk '{print "Relname:pg_replication_origin " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 3592| awk '{print "Relname:pg_shseclabel " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 6243| awk '{print "Relname:pg_parameter_acl " $1" "$2" "$3" "$4}'
 pg_filedump -m pg_filenode.map | grep OID | grep 6100| awk '{print "Relname:pg_subscription " $1" "$2" "$3" "$4}'

结果如下:

Relname:pg_toast_1262_index  OID: 4178 Filenode: 4178
Relname:pg_toast_2964_index OID: 2967 Filenode: 2967
Relname:pg_toast_1213_index OID: 4186 Filenode: 4186
Relname:pg_toast_1260_index OID: 4176 Filenode: 4176
Relname:pg_toast_2396_index OID: 2847 Filenode: 2847
Relname:pg_toast_6000_index OID: 4182 Filenode: 4182
Relname:pg_toast_3592_index OID: 4061 Filenode: 4061
Relname:pg_toast_6243_index OID: 6245 Filenode: 6245
Relname:pg_toast_6100_index OID: 4184 Filenode: 4184
Relname:pg_database_datname_index OID: 2671 Filenode: 2671
Relname:pg_database_oid_index OID: 2672 Filenode: 2672
Relname:pg_db_role_setting_databaseid_rol_index OID: 2965 Filenode: 2965
Relname:pg_tablespace_oid_index OID: 2697 Filenode: 2697
Relname:pg_tablespace_spcname_index OID: 2698 Filenode: 2698
Relname:pg_authid_rolname_index OID: 2676 Filenode: 2676
Relname:pg_authid_oid_index OID: 2677 Filenode: 2677
Relname:pg_auth_members_oid_index OID: 6303 Filenode: 6303
Relname:pg_auth_members_role_member_index OID: 2694 Filenode: 2694
Relname:pg_auth_members_member_role_index OID: 2695 Filenode: 2695
Relname:pg_auth_members_grantor_index OID: 6302 Filenode: 6302
Relname:pg_shdepend_depender_index OID: 1232 Filenode: 1232
Relname:pg_shdepend_reference_index OID: 1233 Filenode: 1233
Relname:pg_shdescription_o_c_index OID: 2397 Filenode: 2397
Relname:pg_replication_origin_roiident_index OID: 6001 Filenode: 6001
Relname:pg_replication_origin_roname_index OID: 6002 Filenode: 6002
Relname:pg_shseclabel_object_index OID: 3593 Filenode: 3593
Relname:pg_parameter_acl_parname_index OID: 6246 Filenode: 6246
Relname:pg_parameter_acl_oid_index OID: 6247 Filenode: 6247
Relname:pg_subscription_oid_index OID: 6114 Filenode: 6114
Relname:pg_subscription_subname_index OID: 6115 Filenode: 6115
Relname:pg_authid OID: 1260 Filenode: 1260
Relname:pg_toast_6243 OID: 6244 Filenode: 6244
Relname:pg_toast_6100 OID: 4183 Filenode: 4183
Relname:pg_toast_1262 OID: 4177 Filenode: 4177
Relname:pg_toast_2964 OID: 2966 Filenode: 2966
Relname:pg_toast_1213 OID: 4185 Filenode: 4185
Relname:pg_toast_1260 OID: 4175 Filenode: 4175
Relname:pg_toast_2396 OID: 2846 Filenode: 2846
Relname:pg_toast_6000 OID: 4181 Filenode: 4181
Relname:pg_toast_3592 OID: 4060 Filenode: 4060
Relname:pg_database OID: 1262 Filenode: 1262
Relname:pg_db_role_setting OID: 2964 Filenode: 2964
Relname:pg_tablespace OID: 1213 Filenode: 1213
Relname:pg_auth_members OID: 1261 Filenode: 1261
Relname:pg_shdepend OID: 1214 Filenode: 1214
Relname:pg_shdescription OID: 2396 Filenode: 2396
Relname:pg_replication_origin OID: 6000 Filenode: 6000
Relname:pg_shseclabel OID: 3592 Filenode: 3592
Relname:pg_parameter_acl OID: 6243 Filenode: 6243
Relname:pg_subscription OID: 6100 Filenode: 6100
  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小怪兽ysl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值