23 lines
777 B
SQL
23 lines
777 B
SQL
-- 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; |