原文地址:
https://www.depesz.com/2025/05/05/waiting-for-postgresql-18-add-function-to-get-memory-context-stats-for-processes/
Add function to get memory context stats for processes添加函数以获取进程的内存上下文统计信息This adds a function for retrieving memory context statisticsand information from backends as well as auxiliary processes.The intended usecase is cluster debugging when under memorypressure or unanticipated memory usage characteristics.这增加了一个用于检索内存上下文统计信息的功能以及来自后端和辅助进程的信息。预期用例是在内存下进行集群调试压力或意外的内存使用特征。When calling the function it sends a signal to the specifiedprocess to submit statistics regarding its memory contextsinto dynamic shared memory. Each memory context is returnedin detail, followed by a cumulative total in case the numberof contexts exceed the max allocated amount of shared memory.Each process is limited to use at most 1Mb memory for this.当调用该函数时,它会向指定的进程提交有关其内存上下文的统计信息到动态共享内存中。每个内存上下文都返回详细地,然后是累计总数,以防万一上下文超出了共享内存的最大分配量。为此,每个进程最多只能使用 1Mb 内存。A summary can also be explicitly requested by the user, thiswill return the TopMemoryContext and a cumulative total ofall lower contexts.用户也可以明确请求摘要,这将返回 TopMemoryContext 和累计总数所有较低上下文。In order to not block on busy processes the caller specifiesthe number of seconds during which to retry before timing out.In the case where no statistics are published within the settimeout, the last known statistics are returned, or NULL ifno previously published statistics exist. This allows dash-board type queries to continually publish even if the targetprocess is temporarily congested. Context records contain atimestamp to indicate when they were submitted.为了不阻塞繁忙的进程,调用者指定超时前重试的秒数。如果在集合内没有发布统计数据超时,返回最后已知的统计数据,或者如果目前还没有公布过统计数据。这使得 dash-即使目标进程暂时拥塞。上下文记录包含时间戳来指示提交的时间。Author: Rahila Syed <rahilasyed90@gmail.com>Reviewed-by: Daniel Gustafsson <daniel@yesql.se>Reviewed-by: Andres Freund <andres@anarazel.de>Reviewed-by: Tomas Vondra <tomas@vondra.me>Reviewed-by: Atsushi Torikoshi <torikoshia@oss.nttdata.com>Reviewed-by: Fujii Masao <masao.fujii@oss.nttdata.com>Reviewed-by: Alexander Korotkov <aekorotkov@gmail.com>Discussion: https://postgr.es/m/CAH2L28v8mc9HDt8QoSJ8TRmKau_8FM_HKS41NeO9-6ZAkuZKXw@mail.gmail.com
我不认为这对很多人会有用,但肯定会对某些人有帮助。
从PostgreSQL14开始,我们引入了pg_backend_memory_contexts视图,用于显示当前后端的内存使用情况。它如下所示:
=$ select * from pg_backend_memory_contexts order by path limit 5;name │ ident │ type │ level │ path │ total_bytes │ total_nblocks │ free_bytes │ free_chunks │ used_bytes──────────────────────────┼──────────────┼──────────┼───────┼──────────┼─────────────┼───────────────┼────────────┼─────────────┼────────────TopMemoryContext │ [null] │ AllocSet │ 1 │ {1} │ 140544 │ 6 │ 3088 │ 14 │ 137456collation cache │ [null] │ AllocSet │ 2 │ {1,2} │ 8192 │ 1 │ 6784 │ 0 │ 1408TableSpace cache │ [null] │ AllocSet │ 2 │ {1,3} │ 8192 │ 1 │ 2112 │ 0 │ 6080RegexpCacheMemoryContext │ [null] │ AllocSet │ 2 │ {1,4} │ 1024 │ 1 │ 784 │ 0 │ 240RegexpMemoryContext │ ^(.*cont.*)$ │ AllocSet │ 3 │ {1,4,30} │ 13376 │ 5 │ 6992 │ 10 │ 6384(5 rows)
现在,我们还可以获取其他 Pg 进程的此类信息,包括非后端进程(如 wal writer):
=$ \! ps -u pgdba u | grep walwriterpgdba 1420 0.0 0.0 225636 9536 ? Ss May01 0:05 postgres: walwriter=$ select * from pg_get_process_memory_contexts( 1253, false, 1 ) order by path limit 5^J;name │ ident │ type │ path │ level │ total_bytes │ total_nblocks │ free_bytes │ free_chunks │ used_bytes │ num_agg_contexts │ stats_timestamp───────────────────────────────────────┼────────┼──────────┼──────────┼───────┼─────────────┼───────────────┼────────────┼─────────────┼────────────┼──────────────────┼───────────────────────────────TopMemoryContext │ [null] │ AllocSet │ {1} │ 1 │ 102664 │ 4 │ 2784 │ 0 │ 99880 │ 1 │ 2025-05-05 15:02:59.764672+02smgr relation table │ [null] │ AllocSet │ {1,2} │ 2 │ 32768 │ 3 │ 16848 │ 8 │ 15920 │ 1 │ 2025-05-05 15:02:59.764672+02Background Writer │ [null] │ AllocSet │ {1,3} │ 2 │ 24576 │ 2 │ 22648 │ 8 │ 1928 │ 1 │ 2025-05-05 15:02:59.764672+02pg_get_remote_backend_memory_contexts │ [null] │ AllocSet │ {1,3,11} │ 3 │ 8192 │ 1 │ 1472 │ 0 │ 6720 │ 1 │ 2025-05-05 15:02:59.764672+02LOCALLOCK hash │ [null] │ AllocSet │ {1,4} │ 2 │ 8192 │ 1 │ 576 │ 0 │ 7616 │ 1 │ 2025-05-05 15:02:59.764672+02(5 rows)
第一个参数是进程的 pid。
第二个参数,如果为 true,则仅显示TopMemoryContext正下方的上下文。如果为 false,则会生成更多数据,因为它会显示其中所有内容的数据(最后会显示示例)。
第三个参数是超时时间(以秒为单位)。如果从后端获取数据的时间超过此值,则返回之前的数据;如果没有之前的数据,则返回 NULL。
所以这意味着我们可以轻松构建某种“实时内存使用情况”的仪表板/图表/表格,而不会给服务器带来巨大的负担。
非常非常好用。虽然不太适合日常使用,但如果你看到 Pg 进程占用了惊人的内存,至少可以看看它为什么占用内存,以及它到底用来干什么了。
非常感谢所有参与其中的人。
这是后端示例的承诺。虽然它没有太多实质性的操作,但仍有作用(pgbench):
=$ select * from pg_get_process_memory_contexts( 649620, false, 100 ) order by path ;name │ ident │ type │ path │ level │ total_bytes │ total_nblocks │ free_bytes │ free_chunks │ used_bytes │ num_agg_contexts │ stats_timestamp───────────────────────────────────────┼────────────────────────────────────────────────┼──────────┼────────────┼───────┼─────────────┼───────────────┼────────────┼─────────────┼────────────┼──────────────────┼───────────────────────────────TopMemoryContext │ [null] │ AllocSet │ {1} │ 1 │ 152904 │ 7 │ 3144 │ 11 │ 149760 │ 1 │ 2025-05-05 15:09:57.330051+02TableSpace cache │ [null] │ AllocSet │ {1,2} │ 2 │ 8192 │ 1 │ 2112 │ 0 │ 6080 │ 1 │ 2025-05-05 15:09:57.330051+02Operator lookup cache │ [null] │ AllocSet │ {1,3} │ 2 │ 24576 │ 2 │ 10776 │ 3 │ 13800 │ 1 │ 2025-05-05 15:09:57.330051+02search_path processing cache │ [null] │ AllocSet │ {1,4} │ 2 │ 8192 │ 1 │ 5616 │ 8 │ 2576 │ 1 │ 2025-05-05 15:09:57.330051+02RowDescriptionContext │ [null] │ AllocSet │ {1,5} │ 2 │ 8192 │ 1 │ 6912 │ 0 │ 1280 │ 1 │ 2025-05-05 15:09:57.330051+02MessageContext │ [null] │ AllocSet │ {1,6} │ 2 │ 32768 │ 3 │ 13736 │ 3 │ 19032 │ 1 │ 2025-05-05 15:09:57.330051+02Operator class cache │ [null] │ AllocSet │ {1,7} │ 2 │ 8192 │ 1 │ 576 │ 0 │ 7616 │ 1 │ 2025-05-05 15:09:57.330051+02smgr relation table │ [null] │ AllocSet │ {1,8} │ 2 │ 32768 │ 3 │ 16848 │ 8 │ 15920 │ 1 │ 2025-05-05 15:09:57.330051+02PgStat Shared Ref Hash │ [null] │ AllocSet │ {1,9} │ 2 │ 9280 │ 2 │ 704 │ 0 │ 8576 │ 1 │ 2025-05-05 15:09:57.330051+02PgStat Shared Ref │ [null] │ AllocSet │ {1,10} │ 2 │ 8192 │ 4 │ 3512 │ 2 │ 4680 │ 1 │ 2025-05-05 15:09:57.330051+02PgStat Pending │ [null] │ AllocSet │ {1,11} │ 2 │ 16384 │ 5 │ 14352 │ 46 │ 2032 │ 1 │ 2025-05-05 15:09:57.330051+02TopTransactionContext │ [null] │ AllocSet │ {1,12} │ 2 │ 8192 │ 1 │ 5648 │ 4 │ 2544 │ 1 │ 2025-05-05 15:09:57.330051+02pg_get_remote_backend_memory_contexts │ [null] │ AllocSet │ {1,12,25} │ 3 │ 16384 │ 2 │ 6504 │ 2 │ 9880 │ 1 │ 2025-05-05 15:09:57.330051+02TransactionAbortContext │ [null] │ AllocSet │ {1,13} │ 2 │ 32768 │ 1 │ 32528 │ 0 │ 240 │ 1 │ 2025-05-05 15:09:57.330051+02Portal hash │ [null] │ AllocSet │ {1,14} │ 2 │ 8192 │ 1 │ 576 │ 0 │ 7616 │ 1 │ 2025-05-05 15:09:57.330051+02TopPortalContext │ [null] │ AllocSet │ {1,15} │ 2 │ 8192 │ 1 │ 7952 │ 1 │ 240 │ 1 │ 2025-05-05 15:09:57.330051+02Relcache by OID │ [null] │ AllocSet │ {1,16} │ 2 │ 16384 │ 2 │ 3528 │ 2 │ 12856 │ 1 │ 2025-05-05 15:09:57.330051+02CacheMemoryContext │ [null] │ AllocSet │ {1,17} │ 2 │ 524288 │ 7 │ 34344 │ 0 │ 489944 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pgbench_branches_pkey │ AllocSet │ {1,17,26} │ 3 │ 2048 │ 2 │ 672 │ 1 │ 1376 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pgbench_tellers_pkey │ AllocSet │ {1,17,27} │ 3 │ 2048 │ 2 │ 592 │ 1 │ 1456 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_statistic_ext_relid_index │ AllocSet │ {1,17,28} │ 3 │ 2048 │ 2 │ 672 │ 1 │ 1376 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pgbench_accounts_pkey │ AllocSet │ {1,17,29} │ 3 │ 2048 │ 2 │ 592 │ 1 │ 1456 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_index_indrelid_index │ AllocSet │ {1,17,30} │ 3 │ 2048 │ 2 │ 592 │ 1 │ 1456 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_constraint_conrelid_contypid_conname_index │ AllocSet │ {1,17,31} │ 3 │ 3072 │ 2 │ 928 │ 1 │ 2144 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_db_role_setting_databaseid_rol_index │ AllocSet │ {1,17,32} │ 3 │ 3072 │ 2 │ 1032 │ 1 │ 2040 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_opclass_am_name_nsp_index │ AllocSet │ {1,17,33} │ 3 │ 3072 │ 2 │ 1120 │ 1 │ 1952 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_foreign_data_wrapper_name_index │ AllocSet │ {1,17,34} │ 3 │ 2048 │ 2 │ 720 │ 3 │ 1328 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_enum_oid_index │ AllocSet │ {1,17,35} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_class_relname_nsp_index │ AllocSet │ {1,17,36} │ 3 │ 3072 │ 2 │ 984 │ 2 │ 2088 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_foreign_server_oid_index │ AllocSet │ {1,17,37} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_publication_pubname_index │ AllocSet │ {1,17,38} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_statistic_relid_att_inh_index │ AllocSet │ {1,17,39} │ 3 │ 3072 │ 2 │ 768 │ 1 │ 2304 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_cast_source_target_index │ AllocSet │ {1,17,40} │ 3 │ 3072 │ 2 │ 984 │ 2 │ 2088 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_language_name_index │ AllocSet │ {1,17,41} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_transform_oid_index │ AllocSet │ {1,17,42} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_collation_oid_index │ AllocSet │ {1,17,43} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_amop_fam_strat_index │ AllocSet │ {1,17,44} │ 3 │ 3264 │ 3 │ 736 │ 2 │ 2528 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_index_indexrelid_index │ AllocSet │ {1,17,45} │ 3 │ 2048 │ 2 │ 592 │ 2 │ 1456 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_ts_template_tmplname_index │ AllocSet │ {1,17,46} │ 3 │ 3072 │ 2 │ 1224 │ 3 │ 1848 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_ts_config_map_index │ AllocSet │ {1,17,47} │ 3 │ 3072 │ 2 │ 1120 │ 1 │ 1952 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_opclass_oid_index │ AllocSet │ {1,17,48} │ 3 │ 2048 │ 2 │ 592 │ 2 │ 1456 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_foreign_data_wrapper_oid_index │ AllocSet │ {1,17,49} │ 3 │ 2048 │ 2 │ 720 │ 3 │ 1328 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_publication_namespace_oid_index │ AllocSet │ {1,17,50} │ 3 │ 2048 │ 2 │ 720 │ 3 │ 1328 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_event_trigger_evtname_index │ AllocSet │ {1,17,51} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_statistic_ext_name_index │ AllocSet │ {1,17,52} │ 3 │ 3072 │ 2 │ 1224 │ 3 │ 1848 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_publication_oid_index │ AllocSet │ {1,17,53} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_ts_dict_oid_index │ AllocSet │ {1,17,54} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_event_trigger_oid_index │ AllocSet │ {1,17,55} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_conversion_default_index │ AllocSet │ {1,17,56} │ 3 │ 2240 │ 2 │ 152 │ 0 │ 2088 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_operator_oprname_l_r_n_index │ AllocSet │ {1,17,57} │ 3 │ 3264 │ 3 │ 816 │ 2 │ 2448 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_trigger_tgrelid_tgname_index │ AllocSet │ {1,17,58} │ 3 │ 3072 │ 2 │ 1224 │ 3 │ 1848 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_extension_oid_index │ AllocSet │ {1,17,59} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_enum_typid_label_index │ AllocSet │ {1,17,60} │ 3 │ 3072 │ 2 │ 1224 │ 3 │ 1848 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_ts_config_oid_index │ AllocSet │ {1,17,61} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_user_mapping_oid_index │ AllocSet │ {1,17,62} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_opfamily_am_name_nsp_index │ AllocSet │ {1,17,63} │ 3 │ 3072 │ 2 │ 1120 │ 1 │ 1952 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_foreign_table_relid_index │ AllocSet │ {1,17,64} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_type_oid_index │ AllocSet │ {1,17,65} │ 3 │ 2048 │ 2 │ 592 │ 2 │ 1456 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_aggregate_fnoid_index │ AllocSet │ {1,17,66} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_constraint_oid_index │ AllocSet │ {1,17,67} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_rewrite_rel_rulename_index │ AllocSet │ {1,17,68} │ 3 │ 3072 │ 2 │ 1224 │ 3 │ 1848 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_ts_parser_prsname_index │ AllocSet │ {1,17,69} │ 3 │ 3072 │ 2 │ 1224 │ 3 │ 1848 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_ts_config_cfgname_index │ AllocSet │ {1,17,70} │ 3 │ 3072 │ 2 │ 1224 │ 3 │ 1848 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_ts_parser_oid_index │ AllocSet │ {1,17,71} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_publication_rel_prrelid_prpubid_index │ AllocSet │ {1,17,72} │ 3 │ 3072 │ 2 │ 1112 │ 1 │ 1960 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_operator_oid_index │ AllocSet │ {1,17,73} │ 3 │ 2048 │ 2 │ 592 │ 2 │ 1456 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_namespace_nspname_index │ AllocSet │ {1,17,74} │ 3 │ 2048 │ 2 │ 592 │ 2 │ 1456 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_ts_template_oid_index │ AllocSet │ {1,17,75} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_amop_opr_fam_index │ AllocSet │ {1,17,76} │ 3 │ 3072 │ 2 │ 960 │ 1 │ 2112 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_default_acl_role_nsp_obj_index │ AllocSet │ {1,17,77} │ 3 │ 3072 │ 2 │ 1088 │ 2 │ 1984 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_collation_name_enc_nsp_index │ AllocSet │ {1,17,78} │ 3 │ 3072 │ 2 │ 1120 │ 1 │ 1952 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_publication_rel_oid_index │ AllocSet │ {1,17,79} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_range_rngtypid_index │ AllocSet │ {1,17,80} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_ts_dict_dictname_index │ AllocSet │ {1,17,81} │ 3 │ 3072 │ 2 │ 1224 │ 3 │ 1848 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_type_typname_nsp_index │ AllocSet │ {1,17,82} │ 3 │ 3072 │ 2 │ 1224 │ 3 │ 1848 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_opfamily_oid_index │ AllocSet │ {1,17,83} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_statistic_ext_oid_index │ AllocSet │ {1,17,84} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_statistic_ext_data_stxoid_inh_index │ AllocSet │ {1,17,85} │ 3 │ 3072 │ 2 │ 1192 │ 2 │ 1880 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_class_oid_index │ AllocSet │ {1,17,86} │ 3 │ 2048 │ 2 │ 592 │ 2 │ 1456 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_proc_proname_args_nsp_index │ AllocSet │ {1,17,87} │ 3 │ 3072 │ 2 │ 1120 │ 1 │ 1952 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_partitioned_table_partrelid_index │ AllocSet │ {1,17,88} │ 3 │ 2048 │ 2 │ 720 │ 3 │ 1328 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_range_rngmultitypid_index │ AllocSet │ {1,17,89} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_transform_type_lang_index │ AllocSet │ {1,17,90} │ 3 │ 3072 │ 2 │ 1224 │ 3 │ 1848 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_attribute_relid_attnum_index │ AllocSet │ {1,17,91} │ 3 │ 3072 │ 2 │ 984 │ 2 │ 2088 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_proc_oid_index │ AllocSet │ {1,17,92} │ 3 │ 2048 │ 2 │ 592 │ 2 │ 1456 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_language_oid_index │ AllocSet │ {1,17,93} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_namespace_oid_index │ AllocSet │ {1,17,94} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_amproc_fam_proc_index │ AllocSet │ {1,17,95} │ 3 │ 3264 │ 3 │ 816 │ 2 │ 2448 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_foreign_server_name_index │ AllocSet │ {1,17,96} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_attribute_relid_attnam_index │ AllocSet │ {1,17,97} │ 3 │ 3072 │ 2 │ 1224 │ 3 │ 1848 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_publication_namespace_pnnspid_pnpubid_index │ AllocSet │ {1,17,98} │ 3 │ 3072 │ 2 │ 1112 │ 1 │ 1960 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_conversion_oid_index │ AllocSet │ {1,17,99} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_user_mapping_user_server_index │ AllocSet │ {1,17,100} │ 3 │ 3072 │ 2 │ 1192 │ 2 │ 1880 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_subscription_rel_srrelid_srsubid_index │ AllocSet │ {1,17,101} │ 3 │ 3072 │ 2 │ 1192 │ 2 │ 1880 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_sequence_seqrelid_index │ AllocSet │ {1,17,102} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_extension_name_index │ AllocSet │ {1,17,103} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_conversion_name_nsp_index │ AllocSet │ {1,17,104} │ 3 │ 3072 │ 2 │ 1224 │ 3 │ 1848 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_authid_oid_index │ AllocSet │ {1,17,105} │ 3 │ 2048 │ 2 │ 592 │ 2 │ 1456 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_auth_members_member_role_index │ AllocSet │ {1,17,106} │ 3 │ 3072 │ 2 │ 1088 │ 2 │ 1984 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_subscription_oid_index │ AllocSet │ {1,17,107} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_parameter_acl_oid_index │ AllocSet │ {1,17,108} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_tablespace_oid_index │ AllocSet │ {1,17,109} │ 3 │ 2048 │ 2 │ 592 │ 2 │ 1456 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_parameter_acl_parname_index │ AllocSet │ {1,17,110} │ 3 │ 2048 │ 2 │ 752 │ 2 │ 1296 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_shseclabel_object_index │ AllocSet │ {1,17,111} │ 3 │ 3072 │ 2 │ 1120 │ 1 │ 1952 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_replication_origin_roname_index │ AllocSet │ {1,17,112} │ 3 │ 2048 │ 2 │ 720 │ 3 │ 1328 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_database_datname_index │ AllocSet │ {1,17,113} │ 3 │ 2048 │ 2 │ 592 │ 2 │ 1456 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_subscription_subname_index │ AllocSet │ {1,17,114} │ 3 │ 3072 │ 2 │ 1224 │ 3 │ 1848 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_replication_origin_roiident_index │ AllocSet │ {1,17,115} │ 3 │ 2048 │ 2 │ 720 │ 3 │ 1328 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_auth_members_role_member_index │ AllocSet │ {1,17,116} │ 3 │ 3072 │ 2 │ 1088 │ 2 │ 1984 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_database_oid_index │ AllocSet │ {1,17,117} │ 3 │ 2048 │ 2 │ 592 │ 2 │ 1456 │ 1 │ 2025-05-05 15:09:57.330051+02index info │ pg_authid_rolname_index │ AllocSet │ {1,17,118} │ 3 │ 2048 │ 2 │ 592 │ 2 │ 1456 │ 1 │ 2025-05-05 15:09:57.330051+02LOCALLOCK hash │ [null] │ AllocSet │ {1,18} │ 2 │ 8192 │ 1 │ 576 │ 0 │ 7616 │ 1 │ 2025-05-05 15:09:57.330051+02WAL record construction │ [null] │ AllocSet │ {1,19} │ 2 │ 50216 │ 2 │ 6384 │ 0 │ 43832 │ 1 │ 2025-05-05 15:09:57.330051+02PrivateRefCount │ [null] │ AllocSet │ {1,20} │ 2 │ 8192 │ 1 │ 2640 │ 0 │ 5552 │ 1 │ 2025-05-05 15:09:57.330051+02MdSmgr │ [null] │ AllocSet │ {1,21} │ 2 │ 8192 │ 1 │ 7440 │ 0 │ 752 │ 1 │ 2025-05-05 15:09:57.330051+02GUCMemoryContext │ [null] │ AllocSet │ {1,22} │ 2 │ 24576 │ 2 │ 8448 │ 1 │ 16128 │ 1 │ 2025-05-05 15:09:57.330051+02GUC hash table │ [null] │ AllocSet │ {1,22,119} │ 3 │ 32768 │ 3 │ 11552 │ 6 │ 21216 │ 1 │ 2025-05-05 15:09:57.330051+02Timezones │ [null] │ AllocSet │ {1,23} │ 2 │ 104128 │ 2 │ 2640 │ 0 │ 101488 │ 1 │ 2025-05-05 15:09:57.330051+02ErrorContext │ [null] │ AllocSet │ {1,24} │ 2 │ 8192 │ 1 │ 7952 │ 5 │ 240 │ 1 │ 2025-05-05 15:09:57.330051+02(119 rows)
文章转载自飞象数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




