Итоговый синтаксис команд rac для 1С 8.3.27.1786

Дата: 2026-01-16
Статус: ✅ Выяснено и протестировано

✅ Успешно выполненные команды

1. Создание кластера

Правильный синтаксис:

rac cluster insert --host=localhost --port=1541 --name=cluster1 localhost:1545

Важно:
- Порт должен быть 1541 (реестр кластера), а не 1540 (ragent)
- Результат: cluster : cf5054e4-27cc-456d-96e0-af779e0e4afb

Команда для проверки:

rac cluster list localhost:1545

2. Получение UUID кластера

rac cluster list localhost:1545

Вывод:

cluster                                   : cf5054e4-27cc-456d-96e0-af779e0e4afb
host                                      : localhost
port                                      : 1541
name                                      : "cluster1"
...

3. Регистрация рабочего сервера (автоматически)

Рабочий сервер регистрируется автоматически при создании кластера.

Проверка:

rac server list --cluster=cf5054e4-27cc-456d-96e0-af779e0e4afb localhost:1545

⚠️ Команда создания информационной базы (требует доработки)

Правильный синтаксис:

rac infobase create \
  --create-database \
  --name base1c \
  --dbms PostgreSQL \
  --db-server 10.218.14.79 \
  --db-name base1c \
  --db-user usr1cv8 \
  --db-pwd 'пароль' \
  --locale ru_RU \
  --cluster=cf5054e4-27cc-456d-96e0-af779e0e4afb \
  localhost:1545

Проблема: Ошибка "could not open extension control file "/usr/share/postgresql/14/extension/mchar.control""

Причина: В стандартном PostgreSQL отсутствуют расширения для 1С (mchar и другие)

Решение:
1. Использовать PostgreSQL, поставляемый 1С (включает необходимые расширения)
2. Или установить расширения вручную (требует пакетов от 1С)
3. Или создать базу данных через консоль администрирования 1С (GUI), которая может работать и без расширений

Статус: Синтаксис команды определен правильно, проблема в конфигурации PostgreSQL

Резюме по синтаксису

✅ Полностью выясненный синтаксис:

  1. Создание кластера:
    bash rac cluster insert --host=localhost --port=1541 --name=cluster1 localhost:1545

  2. Получение UUID кластера:
    bash rac cluster list localhost:1545

  3. Создание информационной базы:
    bash rac infobase create --create-database --name=<name> --dbms=PostgreSQL \ --db-server=<host> --db-name=<name> --db-user=<user> --db-pwd=<password> \ --locale=ru_RU --cluster=<UUID> localhost:1545

⚠️ Требования:

  • UUID кластера обязателен (параметр --cluster=<uuid>)
  • Адрес сервера администрирования всегда последний аргумент
  • Для PostgreSQL требуется расширение mchar (обычно в PostgreSQL от 1С)

Рекомендации

  1. Для создания кластера: ✅ Используйте rac cluster insert с портом 1541 - работает отлично
  2. Для создания базы данных:
  3. ✅ Синтаксис команды определен правильно
  4. ⚠️ Требуется PostgreSQL с расширениями 1С или использование GUI консоли администрирования

Готовые команды для копирования

Получить UUID кластера:

lxc exec 1c-server -- bash -c "/opt/1cv8/x86_64/8.3.27.1786/rac cluster list localhost:1545 | grep '^cluster' | awk '{print \$3}'"

Создать информационную базу (после устранения проблемы):

PGPASS=$(./scripts/get-secret.sh POSTGRES_1C_PASSWORD)
CLUSTER_UUID="cf5054e4-27cc-456d-96e0-af779e0e4afb"

lxc exec 1c-server -- bash -c "/opt/1cv8/x86_64/8.3.27.1786/rac infobase create \
  --create-database \
  --name base1c \
  --dbms PostgreSQL \
  --db-server 10.218.14.79 \
  --db-name base1c \
  --db-user usr1cv8 \
  --db-pwd '$PGPASS' \
  --locale ru_RU \
  --cluster=$CLUSTER_UUID \
  localhost:1545"

ClusterConfigService и регистрация рабочего сервера

При ошибке «Не найдено ни одного сервера с размещенным сервисом ClusterConfigService» см. Проблема ClusterConfigService. Кратко: первый рабочий сервер создаётся только вместе с кластером (rac cluster insert). Команда rac server insert для первого worker не сработает — она требует уже существующего worker с ClusterConfigService.

Связанные документы

  • Проблема ClusterConfigService — ошибка при регистрации рабочего сервера
  • Полная документация: docs/setup/1c-rac-commands-syntax.md
  • Статус настройки: docs/setup/1c-server-setup-status.md