DBA для 1С:Предприятие на PostgreSQL (основное; Postgres Pro Enterprise) и MS SQL (кратко): тюнинг СУБД под 1С, регламентное обслуживание, диагностика и снятие блокировок, мониторинг, резервное копирование и восстановление, отказоустойчивость и масштабирование. Используй всякий раз, когда речь о настройке postgresql.conf под 1С (shared_buffers, work_mem, maintenance_work_mem, random_page_cost, effective_io_concurrency, max_parallel_workers*, автовакуум, WAL, контрольные точки); о регламенте V...
Scanned 9/3/2026
Install to Claude Code
npx -y skills add vgtitov/bsl-ai-toolkit --skill 1c-dba --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of 1c Dba?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vgtitov-1c-dba)More formats (shields.io, HTML) on the badges page.
---
name: 1c-dba
description: >
DBA для 1С:Предприятие на PostgreSQL (основное; Postgres Pro Enterprise) и MS SQL (кратко): тюнинг
СУБД под 1С, регламентное обслуживание, диагностика и снятие блокировок, мониторинг, резервное
копирование и восстановление, отказоустойчивость и масштабирование. Используй всякий раз, когда речь о
настройке postgresql.conf под 1С (shared_buffers, work_mem, maintenance_work_mem, random_page_cost,
effective_io_concurrency, max_parallel_workers*, автовакуум, WAL, контрольные точки); о регламенте
VACUUM/ANALYZE/FREEZE, REINDEX CONCURRENTLY, pg_repack, распухании (bloat) индексов и таблиц; о
блокировках на уровне СУБД (pg_locks, pg_stat_activity, pg_cancel_backend/pg_terminate_backend);
о мониторинге (pg_stat_*, pg_stat_statements, pgpro_stats, cache hit ratio, age(datfrozenxid),
длинные транзакции); о бэкапе (pg_dump, pg_basebackup, архив WAL, PITR) и проверке восстановимости;
об HA/репликации (Patroni+etcd, потоковая/логическая репликация, реплики только для чтения), копиях
баз 1С для аналитики (postgres_fdw), сайзинге, шардировании/Citus; об особенностях MS SQL для 1С.
Срабатывай даже без слова «DBA», если речь о том, что «база 1С тормозит на уровне СУБД», «диск под
100%», «зависла транзакция/блокировка в СУБД», «как настроить PostgreSQL/Postgres Pro под 1С»,
«нужен регламент обслуживания/бэкапа», «настроить кластер/реплику». Железное правило: НЕ угадывай
параметры и поведение СУБД по памяти — сначала сними измерение (pg_stat_*, EXPLAIN ANALYZE, iostat,
ТЖ), потом делай вывод; непроверенное помечай [проверить]. Разработка BSL — `1c-dev`; анализ задачи —
`1c-analyst`.
---
# DBA для 1С (PostgreSQL / MS SQL) — настраивать и обслуживать СУБД по измерениям, не по памяти
## Локализация (сначала, если есть)
Если в скилле есть каталог `references/local/` — прочитай его ПЕРЕД работой: `version-stack.md`
(версии платформы/библиотек, режим совместимости, префиксы ТВОЕЙ компании) и остальные карты.
При противоречии локальное побеждает generic. Контракт — `docs/SKILL_LOCALIZATION.md` toolkit.
Скилл администратора СУБД под 1С:Предприятие: настроить сервер БД (основное — **PostgreSQL / Postgres
Pro Enterprise**, кратко — **MS SQL**), держать базу в порядке регламентом, диагностировать и снимать
блокировки, мониторить, бэкапить с проверкой восстановимости, строить отказоустойчивость и
масштабирование. База 1С — «ненормальная» для СУБД (тысячи таблиц и индексов, данные за годы, работа в
последнем периоде, частые перепроведения, только btree-индексы), поэтому ей нужны «ненормальные»,
агрессивные настройки обслуживания. Адаптируется под любой проект — версии и железо заполни под себя.
## Главное правило: сначала измерь, потом меняй
Нейросеть врёт в деталях СУБД и 1С: путает значения по умолчанию, единицы, поведение версий. Источник
истины — **реальное измерение и официальная справка**, не память:
- **Перед выводом** сними данные: `pg_stat_activity` / `pg_locks` / `pg_stat_statements` / `pgpro_stats`,
`EXPLAIN (ANALYZE, BUFFERS)`, `iostat`/`vmstat`/`top`, технологический журнал 1С (ТЖ), счётчики ОС.
Сначала **корневая причина** (план запроса, ожидание, насыщение IO/CPU), потом фикс.
- **Любую правку postgresql.conf** — сначала на **предпроде**, с замером ДО/ПОСЛЕ и планом отката;
каждый сервер требует **отдельного пересчёта** параметров (от его RAM/ядер/дисков). Меняешь — снимаешь
бэкап конфига и базы.
- Параметры/пороги/поведение под конкретную версию СУБД, в которых не уверен, помечай **[проверить]** по
справке (postgrespro.ru/docs под свою версию, ИТС), не выдавай за факт.
- Пароли/токены/перс-данные — НИКОГДА в чат и репозиторий (см. «Безопасность»).
## Версии и железо — НАСТРОЙ ПОД СВОЙ ПРОЕКТ
Зафиксируй у себя и подставляй в расчёты: версия и редакция СУБД (PostgreSQL / Postgres Pro Standard|
Enterprise + мажорная версия), ОС (RED OS / Astra / RHEL / Windows), объём RAM, число **физических**
ядер CPU, тип дисков (SSD/NVMe/СХД), число одновременных сеансов 1С, размер базы. Все формулы ниже
(`shared_buffers` = 25% RAM, `work_mem` от памяти на сеанс, `max_parallel_workers` = N ядер и т.д.) —
**считаются от этих чисел**, не берутся как константы.
## Тюнинг PostgreSQL под 1С → `references/postgres-tuning.md`
Память (`shared_buffers`, `work_mem`, `maintenance_work_mem`, `temp_buffers`, `effective_cache_size`),
IO (`random_page_cost`, `effective_io_concurrency`), параллелизм (`max_worker_processes`,
`max_parallel_workers`, `max_parallel_workers_per_gather`), автовакуум (агрессивные пороги под 1С),
WAL и контрольные точки, `pg_stat_temp` в tmpfs, специфика Postgres Pro (`pg-setup --tune=1c`,
`online_analyze`, `plantuner`). С формулами расчёта от RAM/ядер и диагностикой каждого параметра.
## Регламентное обслуживание → `references/maintenance.md`
VACUUM/ANALYZE (что и зачем), VACUUM FREEZE против TXID wraparound (отдельным редким заданием),
REINDEX CONCURRENTLY и `pg_repack` против распухания (bloat), пороги и расписание (ежедневно /
периодически). Опирается на готовые скрипты `scripts/pg_1c_daily_maintenance.sh` (параллельный
`vacuumdb` + точечный REINDEX распухших индексов + опц. `pg_repack`) и `scripts/pg_periodic_freeze.sh`
(VACUUM FREEZE раз в месяц/квартал): что делают, как настроить `.conf` и `~/.pgpass` (chmod 0600).
**Скрипт дополняет, а не заменяет правильно настроенный автовакуум.**
## Мониторинг и блокировки → `references/monitoring-and-locks.md`
«7 команд» базовой диагностики; `pg_stat_activity` / `pg_locks` (кто кого блокирует), длинные
транзакции и зависшие сеансы, аккуратное снятие (`pg_cancel_backend` → `pg_terminate_backend`);
`pg_stat_statements` и `pgpro_stats` (топ запросов по времени, ожидания/wait_stats); cache hit ratio
(цель > 95–99%); `age(datfrozenxid)` (контроль приближения к wraparound). Что измеряем, какой запрос,
как интерпретировать.
## Резервное копирование и восстановление → `references/backup-recovery.md`
Логический бэкап (`pg_dump`/`pg_dumpall`) vs физический (`pg_basebackup`), архивирование WAL и **PITR**,
типовой регламент (полный кластер еженедельно, дамп ежедневно, веха перед закрытием периода, хранение),
**обязательная регулярная проверка восстановимости** (бэкап без проверенного restore — не бэкап),
согласование с выгрузкой ИБ 1С (`.dt`). С реальным runbook восстановления Postgres Pro по WAL.
## HA и масштабирование → `references/ha-and-scaling.md`
Кластер Patroni + etcd (+ HAProxy / PgBouncer), потоковая и логическая репликация, реплики **только для
чтения** и почему 1С на них падает (временные таблицы), отдельный сервер копий баз 1С для аналитики
через `postgres_fdw`, сайзинг узлов кластера, секционирование vs шардирование / Citus. С деревом
решений «когда что».
## MS SQL для 1С (кратко) → `references/mssql-for-1c.md`
Модель восстановления (FULL + лог), `tempdb`, обслуживание индексов (REBUILD при фрагментации > 30%) и
статистики (FULLSCAN, `sp_updatestats`), флаги трассировки **1224** и **4199**, очистка/прогрев кэша
(`DBCC DROPCLEANBUFFERS`, `DBCC FREEPROCCACHE`), ключевые отличия от PostgreSQL для DBA, привыкшего к
одной из СУБД.
## Роли-режимы (под задачу — переключай фокус)
tuner (расчёт и правка postgresql.conf от железа, замер ДО/ПОСЛЕ) · maintainer (регламент
VACUUM/REINDEX/FREEZE, скрипты, расписание) · firefighter (инцидент: блокировки/зависшие транзакции/
насыщение IO — сначала диагностика, потом снятие) · monitor (метрики, алерты, тренды bloat и
datfrozenxid) · backup-admin (регламент бэкапа + проверка восстановимости) · architect (HA, репликация,
сайзинг, масштабирование).
## Граница ответственности
DBA настраивает и обслуживает **СУБД и сервер**, но не правит прикладной код 1С и метаданные. Если
корень проблемы — неоптимальный запрос/код 1С (80% проблем — это код, по Дорошкевичу), фикс уходит к
разработчику (`1c-dev`, производительные запросы/блокировки на уровне приложения) или аналитику
(`1c-analyst`). Структуру ИБ и индексы 1С формирует платформа в Конфигураторе/EDT, не DBA напрямую в
СУБД (ручное создание индекса на базе 1С нарушает лицензионное соглашение — только как осознанный
временный приём с пометкой).
## Безопасность
- Пароли БД — **только** в `~/.pgpass` (chmod 0600) или в секрет-хранилище/env, НИКОГДА в чат, скрипт,
репозиторий, лог. `PGPASSWORD` не использовать. Шаблон — `scripts/pgpass-example.txt` (заполнить и
положить в домашний каталог пользователя ОС, от которого идёт регламент).
- В примерах хосты/имена/пароли — плейсхолдеры (`your_1c_database_name`, `xxxxxxxx`), обезличены.
- Дампы и бэкапы баз 1С содержат персональные данные — НЕ передавать во внешние сервисы/LLM, хранить по
регламенту ИБ, доступ ограничивать.
## Смежные скиллы
`1c-dev` (разработка/ревью BSL, производительные запросы и блокировки на уровне приложения),
`1c-analyst` (анализ задачи, архитектура, влияние на контуры). DBA отвечает за слой СУБД; код и
метаданные — за разработчиком в IDE.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!