DB: pg_audit_test | Uptime: 0.6h | Collected: 2026-07-10T04:55:13.460549+00:00
-- Нет Primary Key -- Шаг 1: Добавить колонку, если её нет (быстро, без блокировки) ALTER TABLE "public"."pgbench_accounts" ADD COLUMN IF NOT EXISTS id BIGSERIAL; -- Шаг 2: Создать уникальный индекс CONCURRENTLY (без блокировки записи) CREATE UNIQUE INDEX CONCURRENTLY "pgbench_accounts_pkey" ON "public"."pgbench_accounts"(id); -- Шаг 3: Назначить PK через готовый индекс (мгновенно) ALTER TABLE "public"."pgbench_accounts" ADD PRIMARY KEY USING INDEX "pgbench_accounts_pkey"; -- Autovacuum глобально отключён ALTER SYSTEM SET autovacuum = 'on'; SELECT pg_reload_conf();
Всего: 2 срочных, 6 рекомендуемых, 3 наблюдений | 🟢 Низкий 🟡 Средний 🟠 Высокий
⚠️ Статистика собрана за 0.6 часов работы БД. Для достоверной оценки требуется минимум 24 часа.
Строк: 1,000,000
-- Шаг 1: Добавить колонку, если её нет (быстро, без блокировки) ALTER TABLE "public"."pgbench_accounts" ADD COLUMN IF NOT EXISTS id BIGSERIAL; -- Шаг 2: Создать уникальный индекс CONCURRENTLY (без блокировки записи) CREATE UNIQUE INDEX CONCURRENTLY "pgbench_accounts_pkey" ON "public"."pgbench_accounts"(id); -- Шаг 3: Назначить PK через готовый индекс (мгновенно) ALTER TABLE "public"."pgbench_accounts" ADD PRIMARY KEY USING INDEX "pgbench_accounts_pkey";
current_setting('autovacuum') = 'off' — автоматическое обслуживание ВСЕХ таблиц подавлено
ALTER SYSTEM SET autovacuum = 'on'; SELECT pg_reload_conf();
Строк: 100
-- Шаг 1: Добавить колонку, если её нет (быстро, без блокировки) ALTER TABLE "public"."pgbench_tellers" ADD COLUMN IF NOT EXISTS id BIGSERIAL; -- Шаг 2: Создать уникальный индекс CONCURRENTLY (без блокировки записи) CREATE UNIQUE INDEX CONCURRENTLY "pgbench_tellers_pkey" ON "public"."pgbench_tellers"(id); -- Шаг 3: Назначить PK через готовый индекс (мгновенно) ALTER TABLE "public"."pgbench_tellers" ADD PRIMARY KEY USING INDEX "pgbench_tellers_pkey";
Строк: 10
-- Шаг 1: Добавить колонку, если её нет (быстро, без блокировки) ALTER TABLE "public"."pgbench_branches" ADD COLUMN IF NOT EXISTS id BIGSERIAL; -- Шаг 2: Создать уникальный индекс CONCURRENTLY (без блокировки записи) CREATE UNIQUE INDEX CONCURRENTLY "pgbench_branches_pkey" ON "public"."pgbench_branches"(id); -- Шаг 3: Назначить PK через готовый индекс (мгновенно) ALTER TABLE "public"."pgbench_branches" ADD PRIMARY KEY USING INDEX "pgbench_branches_pkey";
Доля: 51.7% | Dead: 516,957 | Live: 1,000,000
VACUUM ANALYZE "public"."pgbench_accounts";
2,000,000 строк прочитано через Seq Scan
-- CREATE INDEX CONCURRENTLY idx_pgbench_accounts_col ON "public"."pgbench_accounts" (col);
work_mem = 0.1MB (порог: 4MB) | max_connections: 100
ALTER SYSTEM SET work_mem = '64MB'; SELECT pg_reload_conf();
log_min_duration_statement = -1 (логирование медленных запросов отключено)
ALTER SYSTEM SET log_min_duration_statement = '1000'; SELECT pg_reload_conf();
Размер: 193.3 MB | Seq Scans: 3.0
-- CREATE INDEX CONCURRENTLY idx_pgbench_accounts_col ON "public"."pgbench_accounts" (col);
База работает 0.6 часов (менее 24)
-- Повторите аудит через 24 часа непрерывной работы
База работает 0.6 часов (менее 24)
-- Повторите аудит через 24 часа непрерывной работы