codenuk_backend_mine/databases/scripts/create-pipeline-admin.sql
2025-10-10 08:56:39 +05:30

38 lines
1.6 KiB
SQL

-- Create pipeline_admin user for existing database
-- This script can be run manually on existing PostgreSQL instances
-- Create pipeline_admin user if it doesn't exist
DO $$
BEGIN
IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'pipeline_admin') THEN
CREATE USER pipeline_admin WITH PASSWORD 'secure_pipeline_2024';
RAISE NOTICE 'Created user pipeline_admin';
ELSE
-- Update password in case it's different
ALTER USER pipeline_admin WITH PASSWORD 'secure_pipeline_2024';
RAISE NOTICE 'Updated password for existing user pipeline_admin';
END IF;
END
$$;
-- Ensure pipeline_admin has superuser privileges (needed for migrations)
ALTER USER pipeline_admin WITH SUPERUSER;
-- Grant all privileges on existing databases
GRANT ALL PRIVILEGES ON DATABASE postgres TO pipeline_admin;
GRANT ALL PRIVILEGES ON DATABASE dev_pipeline TO pipeline_admin;
-- Connect to dev_pipeline and grant schema permissions
\c dev_pipeline;
GRANT ALL ON SCHEMA public TO pipeline_admin;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO pipeline_admin;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO pipeline_admin;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO pipeline_admin;
-- Set default privileges for future objects
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO pipeline_admin;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO pipeline_admin;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON FUNCTIONS TO pipeline_admin;
\echo 'Pipeline admin user setup completed successfully'