Skip to content
Back to skills

1c Dba

ASecurity

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...

  • 23 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 3, 2026
ai-agentssqldatabasebackend

Security analysis

A100/100

Pro scans all 11 files and shows the line behind each finding

Scanned September 3, 2026

npx -y skills add vgtitov/bsl-ai-toolkit --skill 1c-dba --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 1c Dba?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 1c Dba
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vgtitov-1c-dba/badge)](https://www.skillsdirectory.com/skills/vgtitov-1c-dba)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Files in this skill

  • SKILL.md13.4 KB
  • references/backup-recovery.md21.9 KB
  • references/ha-and-scaling.md24.7 KB
  • references/maintenance.md16.3 KB
  • references/monitoring-and-locks.md12.5 KB
  • references/mssql-for-1c.md9 KB
  • references/postgres-tuning.md29.8 KB
  • scripts/pg_1c_daily_maintenance.conf3 KB
  • scripts/pg_1c_daily_maintenance.sh34.2 KB
  • scripts/pg_periodic_freeze.sh11.8 KB
  • scripts/pgpass-example.txt3.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…