You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Absent optional extensions classify as PERMISSIONS/NO_PERMISSIONS instead of the named non-fatal skip the changelog promises #3240
On a stock self-hosted PostgreSQL 18.4 with no optional extensions installed (the normal starting state the product's own docs call fine: "no extension is required to start"), five collectors log status = PERMISSIONS on every cycle and the Collection Health surface bands them NO_PERMISSIONS:
collector
error
SQLSTATE
pg_buffer_usage
relation "public.pg_buffercache" does not exist
42P01
pg_index_bloat
function public.pgstatindex(regclass) does not exist
42883
pg_kernel_stats
function public.pg_stat_kcache() does not exist
42883
pg_predicate_stats
function public.pg_qualstats() does not exist
42883
pg_wait_sampling
relation "pg_wait_sampling_profile" does not exist
42P01
Every error message even says "the source object does not exist on this target" — while the status says PERMISSIONS and the shared hint says "pg_monitor covers every collector here; check that it is granted." A grant will fix none of these; installing the extension would.
The design already disagrees with the behavior: #2603's changelog entries say pg_wait_sampling "degrades to a named non-fatal skip" for an absent module and pg_qualstats-less databases "degrade to a named non-fatal skip"; #2546 built the precondition miss vocabulary for exactly this shape; and the extension-availability collector (#2545) is already collecting the ground truth every cycle. 42P01/42883 from these sources should classify as the precondition/extension-missing kind, with the extension name as the remedy — not as a permissions failure.
Operator impact: a minimal self-hosted target's health page shows 7 red NO_PERMISSIONS collectors (these 5 plus the two real pg_read_file ones from the sibling issue), which reads as "your grants are broken" when the true state is "one real grant gap, five optional extensions you may not even want."
Observed on the 20260910 nightly (store v114), dogfood target PG18: 57+ PERMISSIONS rows each since 2026-09-07, statuses unchanged after the v104→v114 upgrade.
Fixed by PR #3263 (absent declared extensions record EXTENSION_MISSING with the CREATE EXTENSION remedy instead of PERMISSIONS; new health band wired through all five banding reads and the MCP precondition vocabulary), merged to dev at 4c8b159. Live verification against the PG18 dogfood target follows with the next nightly reinstall.
Activity
Retire the README classification paragraph's claim that a missing pg_…
erikdarlingdata commentedon Sep 10, 2026
Fixed by PR #3263 (absent declared extensions record EXTENSION_MISSING with the CREATE EXTENSION remedy instead of PERMISSIONS; new health band wired through all five banding reads and the MCP precondition vocabulary), merged to dev at 4c8b159. Live verification against the PG18 dogfood target follows with the next nightly reinstall.
Classify an absent declared extension as EXTENSION_MISSING, not PERMI…
Add the release wave's CHANGELOG entries in one splice (erikdarlingda…
Tell a permissions fault from a missing log file, and logging_collect…