610c472f49
insforge.policy_grant_role and insforge.extension_grant_role both already default to 'project_admin' inside the extension (insforge_pg_utils.c:74-84, :98-103), so behaviour is unchanged. Pinned explicitly because the default lives in a compiled .so, invisible to a reader of this file, and a rebuild could shift permission behaviour with no diff in any config repo. extension_grant_role was declared nowhere and matters more than it looks: the hook runs CREATE/DROP EXTENSION as the bootstrap superuser, a broader grant than the policy one. Both copies updated; deploy/zeabur/template.yml inlines this file as a YAML template string. Verified on ghcr.io/insforge/postgres:v15.13.4 that both report source=configuration file with value project_admin, and that the preload list is byte-identical to origin/main. An earlier revision of this PR also preloaded pg_net. Dropped: cloud has had it preloaded for seven months with pg_net.database_name unset, meaning async SQL HTTP never worked there and nobody reported it — so there is no demand to serve, and preloading costs a permanent background worker per instance. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>