{"Entry":{"collection":"waitevent","key":"extension/Extension","name":"Extension","aliases":["Extension"],"metadata":{"aliases":["Extension"],"changed_in":[],"changes":[{"from":"9.6","moved":null,"renamed":null,"reworded":null,"status":"added","to":"10"}],"content_hash":"6f5c386cf7fbe7f609a231719a4fa0f55f599ad4b1a2f25359e043207f166c17","dossier":{"actions":{"en":["Record the extension name and exact extversion.","Query the local PG17+ pg_wait_events view for registered names.","Inspect the extension source and runbook for its paired wait start/end calls."],"zh":["记录扩展名称与精确 extversion。","在 PG17+ 本机 pg_wait_events 中查询已注册名称。","检查扩展源码与 runbook 中配对的 wait start/end 调用。"]},"diagnostic_sql":[{"id":"sessions","min_version":"13","sql":"SELECT pid, backend_type, usename, datname, application_name,\n       state, now() - query_start AS query_age,\n       now() - xact_start AS xact_age,\n       wait_event_type, wait_event,\n       pg_blocking_pids(pid) AS blocking_pids,\n       left(query, 160) AS query\nFROM pg_stat_activity\nWHERE wait_event_type = 'Extension'\n  AND wait_event = 'Extension'\nORDER BY query_age DESC NULLS LAST;","title":"Sessions waiting on Extension/Extension","title_zh":"正在等待 Extension/Extension 的会话"},{"id":"cohort","min_version":"13","sql":"SELECT wait_event, count(*) AS waiting_sessions,\n       count(*) FILTER (WHERE state = 'active') AS active_waiters,\n       max(now() - query_start) AS oldest_query\nFROM pg_stat_activity\nWHERE wait_event_type = 'Extension'\nGROUP BY wait_event\nORDER BY waiting_sessions DESC, wait_event;","title":"Current Extension cohort","title_zh":"当前 Extension 等待分布"},{"id":"lock_objects","min_version":"13","sql":"SELECT a.pid, l.locktype, l.mode, l.granted, l.fastpath,\n       d.datname, n.nspname, c.relname,\n       l.page, l.tuple, l.virtualxid, l.transactionid,\n       l.classid, l.objid, l.objsubid\nFROM pg_stat_activity AS a\nLEFT JOIN pg_locks AS l ON l.pid = a.pid\nLEFT JOIN pg_database AS d ON d.oid = l.database\nLEFT JOIN pg_class AS c\n  ON c.oid = l.relation\n AND l.database = (\n       SELECT oid FROM pg_database WHERE datname = current_database()\n     )\nLEFT JOIN pg_namespace AS n ON n.oid = c.relnamespace\nWHERE a.wait_event_type = 'Extension'\n  AND a.wait_event = 'Extension'\nORDER BY a.pid, l.granted, l.locktype, l.mode;","title":"Lock and relation context for these sessions","title_zh":"这些会话的锁与关系上下文"}],"emission":{"status":"active","verified_release":"18.6"},"incident_pattern":{"en":"","zh":""},"mechanism":{"en":"`PG_WAIT_EXTENSION` at `src/backend/utils/activity/wait_event.c:165` is the grep-verified reporting path. The public identity/resource is mapped at `src/backend/utils/activity/wait_event_names.txt:296`. The instrumented operation is: Waiting in an extension. Extension code registers or uses the Extension wait class and reports the wait around its own blocking operation. The exact resource and owner belong to the installed extension, not PostgreSQL core.","zh":"`PG_WAIT_EXTENSION` 位于 `src/backend/utils/activity/wait_event.c:165`，是经 grep 核验的报告路径。公共身份/资源映射位于 `src/backend/utils/activity/wait_event_names.txt:296`。探针覆盖的操作是：在扩展代码中等待。扩展代码注册或使用 Extension 等待类别，并在自身阻塞操作周围报告等待。具体资源与责任方属于已安装扩展，而不是 PostgreSQL 核心。"},"metrics":["waiting_sessions","wait_event_share"],"normal":{"en":"Normality depends on the exact extension, version, and operation documented by its author.","zh":"是否正常取决于具体扩展、版本以及扩展作者说明的操作。"},"official_descriptions":{"13":"Waiting in an extension.","14":"Waiting in an extension.","15":"Waiting in an extension.","16":"Waiting in an extension.","17":"Waiting in an extension","18":"Waiting in an extension"},"record_kind":"mechanism_placeholder","source_locations":[{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","excerpt":"return WaitEventCustomNew(PG_WAIT_EXTENSION, wait_event_name);","grep_pattern":"PG_WAIT_EXTENSION","grep_verified":true,"kind":"generic_reporter","line":165,"major":18,"path":"src/backend/utils/activity/wait_event.c","status":"dynamic_trigger","symbol":"PG_WAIT_EXTENSION","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/REL_18_6/src/backend/utils/activity/wait_event.c#L165","version":"18.6"},{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","excerpt":"Extension\t\"Waiting in an extension.\"","grep_pattern":"Extension","grep_verified":true,"kind":"catalog_definition","line":296,"major":18,"path":"src/backend/utils/activity/wait_event_names.txt","status":"dynamic_trigger","symbol":"Extension","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/REL_18_6/src/backend/utils/activity/wait_event_names.txt#L296","version":"18.6"}],"source_status":"dynamic_trigger","trouble":{"en":"Investigate when the custom name persists with service impact, or when the extension cannot explain which peer or resource makes progress.","zh":"自定义名称持续存在并影响服务，或扩展无法说明由哪个对端/资源推进时，应当调查。"}},"first_version":"10","has_dossier":true,"imported_at":"2026-09-27T17:57:32.533811+08:00","key":"extension/extension","last_version":"20","name":"Extension","position":34,"present_in":["10","11","12","13","14","15","16","17","18","19","20"],"slug":"extension","source_rev":"english-manuals:94d8021369f6fff6bef2c1658ec0a8a6409c2bc62e94d0017da6b35fd69c8ff5","summary":"Waiting in an extension.","summary_zh":"","type":"Extension","type_slug":"extension","type_variants":["Extension"]}},"Definition":{"Collection":"waitevent","Key":"extension/Extension","SourceDatabase":"center","Version":"18","SourceTable":"waitevent","SourceKey":"extension/extension","SourceRevision":"english-manuals:94d8021369f6fff6bef2c1658ec0a8a6409c2bc62e94d0017da6b35fd69c8ff5","Facts":{"description":"Waiting in an extension.","description_zh":"","doc":{"anchor":"WAIT-EVENT-EXTENSION-TABLE","file":"monitoring-stats.html","lang":"en","sha256":"aa979eed08627fbf715a9d792094a162a73671db5af810f3ab2aad3e073d5722","slug":"18"},"lang":"en","name":"Extension","source":"english-manual","type":"Extension","zh_from":""},"ManualEvidence":{"doc":{"anchor":"WAIT-EVENT-EXTENSION-TABLE","file":"monitoring-stats.html","lang":"en","sha256":"aa979eed08627fbf715a9d792094a162a73671db5af810f3ab2aad3e073d5722","slug":"18"}},"MeasuredEvidence":{}},"Text":{"Collection":"waitevent","Key":"extension/Extension","SourceDatabase":"pgweb","Version":"18","Locale":"zh-Hans","Title":"Extension","Summary":"在扩展中等待。","BodyHTML":"\u003cp\u003e在扩展中等待。\u003c/p\u003e","SourceRevision":"2026-08-31@34d13c8","ContentHash":"76f7423cf4d22e9bd89f8bba0c710622d54e12a940b13305f4322f16f01ad806","Payload":{"description_zh":"在扩展中等待。","zh_from":"doc"}},"RequestedLocale":"zh-Hans","Fallback":false,"Versions":["10","11","12","13","14","15","16","17","18","19","20"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
