Создание правила репликации.
<создание правила репликации>::= 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}] [...]];
<Имя правила>
– идентификатор длиной не более 66 символов уникальный среди правил репликации в БД.
<Имя таблицы БД источника>
и <имя таблицы БД приемника>
должны задавать имена базовых пользовательских таблиц. Использовать имена представлений и системных таблиц не допускается.
При отсутствии указания <имя таблицы БД приемника>
предполагается ее соответствие <имени таблицы БД источника>
.
<Имя узла>
задает имя ЛИНТЕР-сервера, в котором находится таблица БД приемника.
<Имя пользователя БД>
задает имя пользователя на удаленном узле.
<Пароль>
– пароль пользователя БД приемника.
ENABLE
– правило активно, DISABLE
– правило не активно.
SYNC
– режим синхронной, ASYNC
– асинхронной репликации. При асинхронном режиме тиражирование данных выполняется по мере возможности.
В текущей версии СУБД ЛИНТЕР опция SYNC
не поддерживается.
По умолчанию используются значения ENABLE
, ASYNC
.
Конструкции PRIORITY
и CALCULATE
задают правила разрешения конфликтов при тиражировании данных. Правила можно задавать как для всей таблицы в целом, так и для отдельных столбцов.
Структуры таблицы БД источника и таблицы БД приемника должны быть идентичны.
Репликация данных таблиц, содержащих столбцы типа Extfile
, не допускается.
Репликация данных таблиц, содержащих столбцы с опцией generated always
, не допускается.
Таблица БД источника и таблица БД приемника должны обязательно иметь столбец с атрибутом PRIMARY KEY
.
Создавать правило репликации имеет право только владелец тиражируемой таблицы.
CREATE REPLICATION RULE TABRULE1 FOR TAB1 TO TAB1 ON NODE S1; CREATE REPLICATION RULE TABRULE2 FOR TAB2 TO TAB2 ON NODE S2 USER SYSTEM; CREATE REPLICATION RULE TABRULE3 FOR TAB3 TO TAB3 ON NODE S3 ASYNC PRIORITY SECOND CALCULATE MAX;