mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-10 06:52:55 +00:00
26 lines
1003 B
SQL
26 lines
1003 B
SQL
DO $$
|
|
DECLARE
|
|
reader_role RECORD;
|
|
timeout_value TEXT;
|
|
BEGIN
|
|
-- Get the current GUC setting for reader statement timeout
|
|
SELECT current_setting('databricks.reader_statement_timeout', true) INTO timeout_value;
|
|
|
|
-- Only proceed if timeout_value is not null/empty and not '0' (disabled)
|
|
IF timeout_value IS NOT NULL AND timeout_value != '' AND timeout_value != '0' THEN
|
|
-- Find all databricks_reader_* roles and update their statement_timeout
|
|
FOR reader_role IN
|
|
SELECT r.rolname
|
|
FROM pg_roles r
|
|
WHERE r.rolname ~ '^databricks_reader_\d+$'
|
|
LOOP
|
|
-- Apply the timeout setting to the role (will overwrite existing setting)
|
|
EXECUTE format('ALTER ROLE %I SET statement_timeout = %L',
|
|
reader_role.rolname, timeout_value);
|
|
|
|
RAISE LOG 'Updated statement_timeout = % for role %', timeout_value, reader_role.rolname;
|
|
END LOOP;
|
|
END IF;
|
|
END
|
|
$$;
|