ALTER PUBLICATION
ALTER PUBLICATION — изменить определение публикации
Синтаксис
ALTER PUBLICATIONимяADD TABLE [ ONLY ]имя_таблицы[ * ] [, ...] ALTER PUBLICATIONимяSET TABLE [ ONLY ]имя_таблицы[ * ] [, ...] ALTER PUBLICATIONимяDROP TABLE [ ONLY ]имя_таблицы[ * ] [, ...] ALTER PUBLICATIONимяSET (параметр_публикации[=значение] [, ... ] ) ALTER PUBLICATIONимяOWNER TO {новый_владелец| CURRENT_USER | SESSION_USER } ALTER PUBLICATIONимяRENAME TOновое_имя
Описание
Команда ALTER PUBLICATION может изменять атрибуты публикации.
Первые три формы управляют вхождением таблиц в публикации. Предложение SET TABLE заменяет список таблиц в публикации заданным. Предложения ADD TABLE и DROP TABLE добавляют и удаляют таблицы в публикации, соответственно. Заметьте, что при добавлении таблиц в публикацию, на которую уже оформлена подписка, необходимо выполнить ALTER SUBSCRIPTION ... REFRESH PUBLICATION на стороне подписчика, чтобы это изменение вступило в силу.
Четвёртая форма этой команды, показанная в сводке синтаксиса, может изменять все свойства публикации, заданные в CREATE PUBLICATION. Свойства, которые не упоминаются в этой команде, сохраняют предыдущие значения.
Остальные формы команды меняют владельца и имя публикации.
Для выполнения ALTER PUBLICATION необходимо владеть данной публикацией. Чтобы добавить таблицу в публикацию, дополнительно нужно быть владельцем этой таблицы. Чтобы сменить владельца, необходимо быть непосредственным или опосредованным членом новой роли-владельца, а эта роль должна иметь право CREATE в базе данных. Кроме того, новым владельцем публикации FOR ALL TABLES должен быть суперпользователь. Однако суперпользователь может менять владельца публикации вне зависимости от этих ограничений.
Параметры
- имя
- Имя существующей публикации, определение которой изменяется. 
- имя_таблицы
- Имя существующей таблицы. Если перед именем таблицы указано - ONLY, затрагивается только заданная таблица. Без- ONLYзатрагивается и заданная таблица, и все её потомки (если таковые есть). После имени таблицы можно добавить необязательное указание- *, чтобы явно обозначить, что должны затрагиваться и все дочерние таблицы.
- SET (- параметр_публикации[=- значение] [, ... ] )
- Это предложение изменяет параметры публикации, изначально установленные командой CREATE PUBLICATION. За дополнительными сведениями обратитесь к её описанию. 
- новый_владелец
- Имя пользователя, назначаемого новым владельцем публикации. 
- новое_имя
- Новое имя публикации. 
Примеры
Изменение публикации, чтобы публиковались только удаления и изменения:
ALTER PUBLICATION noinsert SET (publish = 'update, delete');
Добавление таблиц в публикацию:
ALTER PUBLICATION mypublication ADD TABLE users, departments;
Совместимость
ALTER PUBLICATION является расширением PostgreSQL.