Создание правила репликации

Функция

Определение оператора репликации данных.

Спецификация
   
< создание правила репликации >::=
CREATE [ IF NOT EXISTS | OR REPLACE] REPLICATION RULE имя правила
FOR [имя схемы.]имя таблицы-источника [TO [имя схемы.]имя таблицы-приемника]
ON {NODE | SERVER} имя узла
[USER имя пользователя] [PASSWORD пароль]
[ENABLE | DISABLE]
[SYNC | ASYNC]
[PRIORITY {SECOND | FIRST | NEW | OLD | WEIGHT | DEFAULT}]
[CALCULATE {NONE | MAX | MIN | AVG | DIFFERENCE | DEFAULT}]
[COLUMN (имя столбца[, …])
[PRIORITY {SECOND | FIRST | NEW | OLD | WEIGHT | DEFAULT}]
[CALCULATE {NONE | MAX | MIN | AVG | DIFFERENCE | DEFAULT}]
[...]]
Синтаксические правила
  1. < Имя правила > задается идентификатором длиной не более 66 символов.

  2. Опция OR REPLACE заставляет удалять существующее в БД правило репликации и создавать его под тем же именем, но с другими параметрами.

  3. Опция IF NOT EXISTS отменяет выполнение оператора, если указанное правило репликации уже существует в БД.

  4. Одновременное использование опций IF NOT EXISTS и OR REPLACE запрещено.

  5. < Пароль > – пароль пользователя БД-приемника.

  6. В качестве < имени таблицы-источника > и < имени таблицы-приемника > должны указываться имена базовых таблиц. Использовать имена представлений и системных таблиц не допускается.

  7. Правило репликации создается от имени пользователя, выполняющего создание правила.

  8. < Имя пользователя > задает имя пользователя на удаленном узле. Этот пользователь обязательно должен быть пользователем удаленной БД в момент создания правила.

  9. ENABLE – правило доступно, DISABLE – правило недоступно для использования.

  10. SYNC – режим синхронной, ASYNC – асинхронной репликации. При асинхронном режиме тиражирование данных выполняется по мере возможности.

  11. По умолчанию используются значения ENABLE, ASYNC.

  12. Конструкции PRIORITY и CALCULATE задают правила разрешения конфликтов при тиражировании данных. Правила задаются для всей таблицы в целом.

  13. Если используется конструкция COLUMN (< имя столбца >[, …]), то для указанных столбцов могут быть установлены индивидуальные правила разрешения конфликтов (см. документ «СУБД ЛИНТЕР. Репликация данных», пункт «Создание правила репликации»).

Общие правила
  1. Структуры локальной и удаленной таблиц должны быть идентичны.

  2. В БД-источнике репликации должны находиться системные таблицы SERVERS, $$$REPL и $$$EXTREEPL.

  3. Репликация таблиц, содержащих данные типа EXTFILE, не допускается.

  4. Локальная таблица (и, соответственно, удаленная) должна обязательно иметь одно или многостолбцовый индекс с атрибутом PRIMARY KEY.

  5. Создавать правило репликации имеет право владелец тиражируемой таблицы или пользователь с привилегиями SELECT, DELETE, INSERT, UPDATE на эту таблицу.