\ir db_config.sql CREATE ROLE postgrest_test_anonymous; CREATE ROLE postgrest_test_author; GRANT postgrest_test_anonymous, postgrest_test_author TO :USER; CREATE SCHEMA v1; GRANT USAGE ON SCHEMA v1 TO postgrest_test_anonymous; CREATE TABLE authors_only (); GRANT SELECT ON authors_only TO postgrest_test_author; CREATE TABLE projects AS SELECT FROM generate_series(1,5); GRANT SELECT ON projects TO postgrest_test_anonymous; create function get_guc_value(name text) returns text as $$ select nullif(current_setting(name), '')::text; $$ language sql; create function v1.get_guc_value(name text) returns text as $$ select nullif(current_setting(name), '')::text; $$ language sql; create function uses_prepared_statements() returns bool as $$ select count(name) > 0 from pg_catalog.pg_prepared_statements $$ language sql; create function change_max_rows_config(val int, notify bool default false) returns void as $_$ begin execute format($$ alter role postgrest_test_authenticator set pgrst.db_max_rows = %L; $$, val); if notify then perform pg_notify('pgrst', 'reload config'); end if; end $_$ volatile security definer language plpgsql ; create function reset_max_rows_config() returns void as $_$ begin alter role postgrest_test_authenticator reset pgrst.db_max_rows; end $_$ volatile security definer language plpgsql ; create function change_db_schema_and_full_reload(schemas text) returns void as $_$ begin execute format($$ alter role postgrest_test_authenticator set pgrst.db_schemas = %L; $$, schemas); perform pg_notify('pgrst', 'reload config'); perform pg_notify('pgrst', 'reload schema'); end $_$ volatile security definer language plpgsql ; create function v1.reset_db_schema_config() returns void as $_$ begin alter role postgrest_test_authenticator reset pgrst.db_schemas; perform pg_notify('pgrst', 'reload config'); perform pg_notify('pgrst', 'reload schema'); end $_$ volatile security definer language plpgsql ; create function invalid_role_claim_key_reload() returns void as $_$ begin alter role postgrest_test_authenticator set pgrst.jwt_role_claim_key = 'test'; perform pg_notify('pgrst', 'reload config'); end $_$ volatile security definer language plpgsql ; create function reset_invalid_role_claim_key() returns void as $_$ begin alter role postgrest_test_authenticator reset pgrst.jwt_role_claim_key; perform pg_notify('pgrst', 'reload config'); end $_$ volatile security definer language plpgsql ; create function reload_pgrst_config() returns void as $_$ begin perform pg_notify('pgrst', 'reload config'); end $_$ language plpgsql ;