172 похожих чатов

Добрый день! кто-нибудь поясните про триггеры к секциям! получается что для каждой

секции нужно прикручивать и триггер еще ???
никак оно не наследуется ?

9 ответов

17 просмотров

А какая версия PostgreSQL? В современных ( https://www.postgresql.org/docs/current/sql-createtrigger.html ) : Creating a row-level trigger on a partitioned table will cause an identical “clone” trigger to be created on each of its existing partitions; and any partitions created or attached later will have an identical trigger, too. If there is a conflictingly-named trigger on a child partition already, an error occurs unless CREATE OR REPLACE TRIGGER is used, in which case that trigger is replaced with a clone trigger. When a partition is detached from its parent, its clone triggers are removed.

Саша-Козлов Автор вопроса
Yaroslav Schekin
А какая версия PostgreSQL? В современных ( https:...

да читал. ПГ13. но могу еще до ПГ14 апнуться бобер явно не показал наличие тригеров, вот и непонятки. проблема собственно в другом сделал простой триггер который просто меняет все значения на 1 есть логическая репликация из ПГ11 в ПГ13 выдает ошибку violates partition constraint что может быть, тк ключ партиционирования я поменял но почему-то триггер в котором я собирался исправить ошибку не срабатывает в логе все равно исходные данные

Саша Козлов
screenshot да читал. ПГ13. но могу еще до ПГ14 апнуться боб...

> бобер явно не показал наличие тригеров, вот и непонятки. Врёт, как всегда, большое дело. ;) In psql we trust. > сделал простой триггер который просто меняет все значения на 1 Лучше покажите целиком (CREATE statements) создание (с текстом) триггерной функции и триггера.

Саша Козлов
screenshot да читал. ПГ13. но могу еще до ПГ14 апнуться боб...

Ну или хоть \d+ партиционированной_таблицы или \d+ этой_секции покажите...

Саша Козлов
есть триггеры да

Ну и Вы забыли ALTER TABLE <я не собираюсь перепечатывать с картинок названия> ENABLE REPLICA TRIGGER <это прямо издевательство над коллегами>;, видимо — вот он на реплике и не срабатывает. ;)

Саша-Козлов Автор вопроса
Yaroslav Schekin
Ну и Вы забыли ALTER TABLE <я не собираюсь перепеч...

в какой момент нужно альтер тэйбл ? и для чего. больше не буду картинками. боялся что текст разъедется (((

Саша Козлов
в какой момент нужно альтер тэйбл ? и для чего. б...

После создания этого триггера на реплике. Нужно для того... я просто процитирую https://www.postgresql.org/docs/current/sql-altertable.html: The trigger firing mechanism is also affected by the configuration variable session_replication_role. Simply enabled triggers (the default) will fire when the replication role is “origin” (the default) or “local”. Triggers configured as ENABLE REPLICA will only fire if the session is in “replica” mode, and triggers configured as ENABLE ALWAYS will fire regardless of the current replication role. The effect of this mechanism is that in the default configuration, triggers do not fire on replicas. This is useful because if a trigger is used on the origin to propagate data between tables, then the replication system will also replicate the propagated data, and the trigger should not fire a second time on the replica, because that would lead to duplication. However, if a trigger is used for another purpose such as creating external alerts, then it might be appropriate to set it to ENABLE ALWAYS so that it is also fired on replicas.

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

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта