首页 > 数据库 >PostgreSQL里pg_filenode.map文件的意义

PostgreSQL里pg_filenode.map文件的意义

时间:2024-11-23 09:37:15浏览次数:8  
标签:map OID grep index oid Relname pg PostgreSQL

一、关于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
复制

标签:map,OID,grep,index,oid,Relname,pg,PostgreSQL
From: https://www.cnblogs.com/quss/p/18564126

相关文章

  • Postgresql系统表/视图
    Postgresql系统表概述表名称用途pg_aggregate聚集函数pg_am索引访问方法pg_amop访问方法操作符pg_amproc访问方法支持过程pg_attrdef字段缺省值pg_attribute表的列(也称为"属性"或"字段")pg_authid认证标识符(角色)pg_auth_members认证标识符成员关系pg_autovacuum每个关系......
  • Hadoop的MapReduce详解
    文章目录Hadoop的MapReduce详解一、引言二、MapReduce的核心概念1、Map阶段1.1、Map函数的实现2、Reduce阶段2.1、Reduce函数的实现三、MapReduce的执行流程四、MapReduce的使用实例WordCount示例1.Mapper类2.Reducer类3.执行WordCount五、总结Hadoop的Map......
  • FPGA、VHDL 基于RISC-V格式的16位位缩模型机设计
    项目地址:FPGA、VHDL基于RISC-V格式的16位位缩模型机设计设计目的实现基于RISC-V格式的16位MCU设计,参考RISC-V的基本格式,进行位数缩减。实现RISC-V中寄存器加法add,立即数加法addi,半字加载lh,半字存储sh,不等条件跳转bne,相等条件跳转beq,无条件跳转链接jal。实现立即寻址、寄存......
  • 解决:YOLOv8训练数据集时P、R、mAP等值均为0的问题
    文章目录问题解决1.匹配pytorch与cuda的版本2.使用Adam优化器3.加大训练轮数epoch4.删除data/labels下的train.cache和val.cache问题使用YOLOv8训练自己的数据集时,出现P、R、mAP等值均为0的问题Modelsummary(fused):186layers,2,685,733parameters,0g......
  • 【深入浅出玩转FPGA】之FPGA配置模式
    FPGA配置模式XilinxUltraScaleFPGA有7种配置模式,由模式输入引脚M[2:0]决定。主串配置模式从串配置模式主并配置模式(8位或16位)从并配置模式(8位、16位或32位)主SPI配置模式主BPI配置模式JTAG/边界扫描配置模式1、主,即配置时钟CCLK由FPGA提供;从,即配置时钟CCLK由外部控制器提......
  • FPGA时序约束基础
    一、时序约束的目的由于实际信号在FPGA内部期间传输时,由于触发器等逻辑期间并非理想期间,因此不可避免地存在传输延时,这种延迟在高速工作频率、高逻辑级数时会造成后级触发器地建立时间和保持时间不满足,造成时序违例。(这也是为什么需要把FPGA设计不能以高级编程语言思想看的原因,设......
  • windows下在Postgresql数据库中扩展postgis功能实现存储空间地理数据
    操作分为以下三步:1.下载 Postgresql数据库(在官网直接下载即可)2.下载安装postgis(需要对应pgadmin版本安装时路径要与pgadmin路径一致)3.在pgadmin中新建数据库扩展postgis(执行语句即可)1.下载 Postgresql数据库(在官网直接下载即可)Download(pgadmin.org)2.下载安装postg......
  • 操作系统(6) (Named /Unnamed Semaphore信号量详解)
    目录1:信号量的基本概念2:命名信号量的示例代码3.无名信号量(UnnamedSemaphore)背景(Background)示例代码讲解初始化无名信号量线程函数创建线程并等待完成销毁信号量总结4.对比1:信号量的基本概念背景介绍:信号量是一种并发编程中的同步原语,它用于协调多......
  • 基于FPGA控制的AD采集,ads8688芯片8通道扫描
     1. ads8688芯片简介        芯片详细介绍可仔细查看数据手册,链接:    由于数据手册内容太多,在次不做过多介绍,此处将只对实现8通道的扫描采集所涉及到的知识点做解释说明,大概需掌握如下3点。1.1 程序寄存器配置    程序寄存器映射图如下所示。......
  • 【教程4>第3章>第22节】基于双向链路的自适应调制解调通信链路FPGA实现1——理论分析研
      欢迎订阅FPGA/MATLAB/Simulink系列教程《★教程1:matlab入门100例》《★教程2:fpga入门100例》《★教程3:simulink入门60例》《★教程4:FPGA/MATLAB/Simulink联合开发入门与进阶X例》目录1.软件版本2.基于双向链路的自适应调制解调通信链路理论分析3.双向链路自......