-- Инициализация PostgreSQL для Lottery Bot -- Создание пользователя для приложения (если не существует) DO $$ BEGIN IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'lottery_app') THEN CREATE ROLE lottery_app LOGIN PASSWORD 'lottery_app_password'; END IF; END $$; -- Предоставление прав GRANT CONNECT ON DATABASE lottery_bot TO lottery_app; GRANT USAGE ON SCHEMA public TO lottery_app; GRANT CREATE ON SCHEMA public TO lottery_app; GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO lottery_app; GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO lottery_app; -- Установка прав по умолчанию для новых таблиц ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO lottery_app; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT ON SEQUENCES TO lottery_app; -- Создание индексов для оптимизации производительности -- (будут созданы после создания таблиц через Alembic) -- Включение расширений CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE EXTENSION IF NOT EXISTS "pg_stat_statements"; -- Настройка для мониторинга CREATE EXTENSION IF NOT EXISTS "pg_stat_monitor"; -- Комментарии COMMENT ON DATABASE lottery_bot IS 'Lottery Bot Database - Telegram Bot for Lottery Management';