ALTER SUBSCRIPTION
ALTER SUBSCRIPTION — изменить определение подписки
Синтаксис
ALTER SUBSCRIPTION имя CONNECTION 'строка_подключения'
ALTER SUBSCRIPTION имя SET PUBLICATION имя_публикации [, ...] [ WITH ( параметр_set_publication [= значение] [, ... ] ) ]
ALTER SUBSCRIPTION имя REFRESH PUBLICATION [ WITH ( параметр_обновления [= значение] [, ... ] ) ]
ALTER SUBSCRIPTION имя ENABLE
ALTER SUBSCRIPTION имя DISABLE
ALTER SUBSCRIPTION имя SET ( параметр_подписки [= значение] [, ... ] )
ALTER SUBSCRIPTION имя OWNER TO { новый_владелец | CURRENT_USER | SESSION_USER }
ALTER SUBSCRIPTION имя RENAME TO новое_имя
Описание
Команда ALTER SUBSCRIPTION
может менять большинство свойств подписки,
которые можно указать в команде CREATE SUBSCRIPTION.
Чтобы использовать команду ALTER SUBSCRIPTION
, нужно быть владельцем соответствующей подписки.
Для смены владельца текущий пользователь также должен быть непосредственным или опосредованным
членом новой роли-владельца. Новый владелец должен быть суперпользователем.
(В настоящее время все владельцы подписок должны быть суперпользователями, поэтому на практике
проверка владельца будет пропущена. Но в будущем это может измениться.)
Параметры
имя
Имя подписки, свойства которой подлежат изменению.
CONNECTION 'строка_подключения'
Это предложение изменяет свойство соединения, первоначально заданное командой CREATE SUBSCRIPTION. Дополнительную информацию см. в описании этой команды.
SET PUBLICATION имя_публикации
Изменяет список публикаций, на которые оформлена подписка. Дополнительную информацию см. в разделе CREATE SUBSCRIPTION. По умолчанию эта команда также будет действовать как REFRESH PUBLICATION.
В указании параметр_set_publication задаются дополнительные свойства этой операции. Поддерживаемые параметры:
- refresh (boolean)
При значении false команда не будет пытаться обновить информацию о таблицах. После этого REFRESH PUBLICATION следует выполнять отдельно. Значение по умолчанию равно true.
Кроме того, здесь могут задаваться параметры обновления, перечисленные в описании REFRESH PUBLICATION.
REFRESH PUBLICATION
Считывает недостающую информацию о таблицах с публикующего сервера. Это приводит к
запуску репликации таблиц, добавленных в публикации, на которые
оформлена подписка, после последнего вызова REFRESH PUBLICATION или CREATE SUBSCRIPTION
.
В указании параметр_обновления задаются дополнительные свойства операции обновления. Поддерживаемые параметры:
- copy_data (boolean)
Указывает, следует ли копировать существующие данные в публикациях, на которые оформляется подписка, после запуска репликации. Значение по умолчанию равно true. (Таблицы, на которые уже оформлена подписка, не копируются.)
ENABLE
Включает ранее отключенную подписку, запуская процесс логической репликации в конце транзакции.
DISABLE
Отключает запущенную подписку, останавливая процесс логической репликации в конце транзакции.
SET ( параметр_подписки [= значение] [, ... ] )
Это предложение изменяет параметры, первоначально заданные с помощью команды CREATE SUBSCRIPTION. Допустимые параметры: slot_name и synchronous_commit
новый_владелец
Имя пользователя, который станет новым владельцем подписки.
новое_имя
Новое имя подписки.
Примеры
Изменение подписки путем подписывания на публикацию insert_only:
ALTER SUBSCRIPTION mysub SET PUBLICATION insert_only;
Отключение (остановка) подписки:
ALTER SUBSCRIPTION mysub DISABLE;
Совместимость
Команда ALTER SUBSCRIPTION
является расширением QHB.
См. также
CREATE SUBSCRIPTION, DROP SUBSCRIPTION, CREATE PUBLICATION, ALTER PUBLICATION