Задать вопрос
@wadomon

Как сделать ALTER TABLE для postgres pglogical?

Как сделать ALTER TABLE для postgres pglogical при логической репликации?
Команду типа
ALTER TABLE aaa_plc_banned_domains ADD Phone2 CHARACTER VARYING(20);
Может что-то вроде
SELECT pglogical.replicate_ddl_command('ALTER TABLE aaa_plc_banned_domains ADD Phone2 CHARACTER VARYING(20)');
но пишет ошибку
ERROR: relation "aaa_plc_banned_domains" does not exist
CONTEXT: during execution of queued SQL statement: ALTER TABLE aaa_plc_banned_domains ADD Phone2 CHARACTER VARYING(20)
  • Вопрос задан
  • 169 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@wadomon Автор вопроса
Сам спросил, сам отвечаю :) Команда, передающая alter, вот

SELECT pglogical.replicate_ddl_command(command :='ALTER TABLE public.stats ADD Phone CHARACTER VARYING(20)',replication_sets:=ARRAY['insert_update']);

удалить столбик phone
SELECT pglogical.replicate_ddl_command(command :='ALTER TABLE public.stats DROP Phone',replication_sets:=ARRAY['insert_update']);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
PostgreSQL DBA
https://github.com/2ndQuadrant/pglogical/blob/REL2...
Попробуйте указать запрос с полным наименованием таблицы.
Вероятно в схеме public у вас таблица:
SELECT pglogical.replicate_ddl_command('ALTER TABLE public.aaa_plc_banned_domains ADD Phone2 CHARACTER VARYING(20)');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы