32 lines
1.3 KiB
SQL
32 lines
1.3 KiB
SQL
-- ===================================================================
|
|
-- PostgreSQL Initialization Script for Keycloak
|
|
-- ===================================================================
|
|
-- This script creates a separate schema for Keycloak data within the
|
|
-- meldestelle database, providing isolation and better organization.
|
|
--
|
|
-- Execution: Automatically executed by PostgreSQL on first startup
|
|
-- via docker-entrypoint-initdb.d mechanism.
|
|
-- ===================================================================
|
|
|
|
-- Create Keycloak schema if it doesn't exist
|
|
CREATE SCHEMA IF NOT EXISTS keycloak;
|
|
|
|
-- Grant all privileges on the schema to the meldestelle user
|
|
GRANT ALL PRIVILEGES ON SCHEMA keycloak TO meldestelle;
|
|
|
|
-- Grant usage on the schema
|
|
GRANT USAGE ON SCHEMA keycloak TO meldestelle;
|
|
|
|
-- Set default privileges for future tables in the keycloak schema
|
|
ALTER DEFAULT PRIVILEGES IN SCHEMA keycloak GRANT ALL ON TABLES TO meldestelle;
|
|
ALTER DEFAULT PRIVILEGES IN SCHEMA keycloak GRANT ALL ON SEQUENCES TO meldestelle;
|
|
ALTER DEFAULT PRIVILEGES IN SCHEMA keycloak GRANT ALL ON FUNCTIONS TO meldestelle;
|
|
|
|
-- Log successful schema creation
|
|
DO $$
|
|
BEGIN
|
|
RAISE NOTICE 'Keycloak schema created successfully';
|
|
RAISE NOTICE 'Schema: keycloak';
|
|
RAISE NOTICE 'Owner: meldestelle';
|
|
END $$;
|