@@ -2358,4 +2358,30 @@ ALTER function supabase_functions.http_request() SECURITY DEFINER;
23582358ALTER function supabase_functions .http_request () SET search_path = supabase_functions;
23592359REVOKE ALL ON FUNCTION supabase_functions .http_request () FROM PUBLIC;
23602360GRANT EXECUTE ON FUNCTION supabase_functions .http_request () TO postgres, anon, authenticated, service_role;
2361+
2362+ -- --------------------------------------------------
2363+ -- Pigsty custom migration: Supabase Studio query performance
2364+ -- 20260709000000_pigsty_pg_stat_statements_extensions_compat.sql
2365+ --
2366+ -- Supabase Studio sets search_path to public, extensions when loading query
2367+ -- performance data. Pigsty keeps pg_stat_statements in monitor for pg_exporter,
2368+ -- so expose compatibility wrappers in extensions without moving the extension.
2369+ -- --------------------------------------------------
2370+ -- migrate:up
2371+ CREATE OR REPLACE VIEW extensions .pg_stat_statements AS
2372+ SELECT * FROM monitor .pg_stat_statements ;
2373+
2374+ CREATE OR REPLACE VIEW extensions .pg_stat_statements_info AS
2375+ SELECT * FROM monitor .pg_stat_statements_info ;
2376+
2377+ CREATE OR REPLACE FUNCTION extensions .pg_stat_statements(showtext boolean )
2378+ RETURNS SETOF monitor .pg_stat_statements
2379+ LANGUAGE sql STABLE
2380+ AS $$ SELECT * FROM monitor .pg_stat_statements (showtext); $$;
2381+
2382+ ALTER VIEW extensions .pg_stat_statements OWNER TO supabase_admin;
2383+ ALTER VIEW extensions .pg_stat_statements_info OWNER TO supabase_admin;
2384+ ALTER FUNCTION extensions .pg_stat_statements (boolean ) OWNER TO supabase_admin;
2385+
2386+ -- migrate:down
23612387COMMIT ;
0 commit comments