34 lines
1.5 KiB
SQL
34 lines
1.5 KiB
SQL
-- Инициализация 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'; |