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
является расширением PostgreSQL.