-- Create Keycloak user if it doesn't exist DO $$ BEGIN IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'keycloak') THEN CREATE USER keycloak WITH PASSWORD 'keycloak'; END IF; END $$; -- Create Keycloak schema if it doesn't exist CREATE SCHEMA IF NOT EXISTS keycloak; -- Grant necessary permissions GRANT USAGE ON SCHEMA keycloak TO keycloak; GRANT ALL ON ALL TABLES IN SCHEMA keycloak TO keycloak; GRANT ALL ON ALL SEQUENCES IN SCHEMA keycloak TO keycloak; -- Set default privileges for future tables ALTER DEFAULT PRIVILEGES IN SCHEMA keycloak GRANT ALL ON TABLES TO keycloak; ALTER DEFAULT PRIVILEGES IN SCHEMA keycloak GRANT ALL ON SEQUENCES TO keycloak; -- Grant connect permission to the database GRANT CONNECT ON DATABASE postgres TO keycloak;