mirror of
https://github.com/neondatabase/neon.git
synced 2025-12-23 06:09:59 +00:00
## Problem Currently `neon_superuser` is hardcoded in many places. It makes it harder to reuse the same code in different envs. ## Summary of changes Parametrize `neon_superuser` in `compute_ctl` via `--privileged-role-name` and in `neon` extensions via `neon.privileged_role_name`, so it's now possible to use different 'superuser' role names if needed. Everything still defaults to `neon_superuser`, so no control plane code changes are needed and I intentionally do not touch regression and migrations tests. Postgres PRs: - https://github.com/neondatabase/postgres/pull/674 - https://github.com/neondatabase/postgres/pull/675 - https://github.com/neondatabase/postgres/pull/676 - https://github.com/neondatabase/postgres/pull/677 Cloud PR: - https://github.com/neondatabase/cloud/pull/31138
18 lines
624 B
Diff
18 lines
624 B
Diff
diff --git a/contrib/postgres_fdw/postgres_fdw--1.0.sql b/contrib/postgres_fdw/postgres_fdw--1.0.sql
|
|
index a0f0fc1bf45..ee077f2eea6 100644
|
|
--- a/contrib/postgres_fdw/postgres_fdw--1.0.sql
|
|
+++ b/contrib/postgres_fdw/postgres_fdw--1.0.sql
|
|
@@ -16,3 +16,12 @@ LANGUAGE C STRICT;
|
|
CREATE FOREIGN DATA WRAPPER postgres_fdw
|
|
HANDLER postgres_fdw_handler
|
|
VALIDATOR postgres_fdw_validator;
|
|
+
|
|
+DO $$
|
|
+DECLARE
|
|
+ privileged_role_name text;
|
|
+BEGIN
|
|
+ privileged_role_name := current_setting('neon.privileged_role_name');
|
|
+
|
|
+ EXECUTE format('GRANT USAGE ON FOREIGN DATA WRAPPER postgres_fdw TO %I', privileged_role_name);
|
|
+END $$;
|