Создание правила репликации (CREATE 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}]
[...]]
Синтаксические правила
-
<Имя правила>задается идентификатором длиной не более 66 символов. -
Опция
OR REPLACEзаставляет удалять существующее в БД правило репликации и создавать его под тем же именем, но с другими параметрами. -
Опция
IF NOT EXISTSотменяет выполнение оператора, если указанное правило репликации уже существует в БД. -
Одновременное использование опций
IF NOT EXISTSиOR REPLACEзапрещено. -
<Пароль>– пароль пользователя БД-приемника. -
В качестве
<имени таблицы-источника>и<имени таблицы-приемника>должны указываться имена базовых таблиц. Использовать имена представлений и системных таблиц не допускается. -
Правило репликации создается от имени пользователя, выполняющего создание правила.
-
<Имя пользователя>задает имя пользователя на удаленном узле. Этот пользователь обязательно должен быть пользователем удаленной БД в момент создания правила. -
ENABLE– правило доступно,DISABLE– правило недоступно для использования. -
SYNC– режим синхронной,ASYNC– асинхронной репликации. При асинхронном режиме тиражирование данных выполняется по мере возможности. -
По умолчанию используются значения
ENABLE,ASYNC. -
Конструкции
PRIORITYиCALCULATEзадают правила разрешения конфликтов при тиражировании данных. Правила задаются для всей таблицы в целом. -
Если используется конструкция
COLUMN (<имя столбца>[, …]), то для указанных столбцов могут быть установлены индивидуальные правила разрешения конфликтов (см. документ «Репликация данных», пункт «Создание правила репликации»).
Общие правила
-
Структуры локальной и удаленной таблиц должны быть идентичны.
-
В БД-источнике репликации должны находиться системные таблицы
SERVERS,$$$REPLи$$$EXTREEPL. -
Репликация таблиц, содержащих данные типа
EXTFILE, не допускается. -
Локальная таблица (и, соответственно, удаленная) должна обязательно иметь одно или многостолбцовый индекс с атрибутом
PRIMARY KEY. -
Создавать правило репликации имеет право владелец тиражируемой таблицы или пользователь с привилегиями
SELECT,DELETE,INSERT,UPDATEна эту таблицу.