Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
не получается сделать enable always trigger на instead of тригер на вьюхе
|
|||
|---|---|---|---|
|
#18+
не работает когда есть вьюха VIEW_TABLE на ней есть instead of тригер VIEW_TABLE_insert_trigger; не получается сделать enable always trigger, т.е. надо что бы при репликации этот тригер обязательно срабатывал. так не работает Код: sql 1. ERROR: "mc_case" is not a table or foreign table Код: sql 1. ERROR: "mc_case" is not a table or foreign table можно как нибудь это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 13:06 |
|
||
|
не получается сделать enable always trigger на instead of тригер на вьюхе
|
|||
|---|---|---|---|
|
#18+
Legushkaне работает когда есть вьюха VIEW_TABLE на ней есть instead of тригер VIEW_TABLE_insert_trigger; не получается сделать enable always trigger, т.е. надо что бы при репликации этот тригер обязательно срабатывал. так не работает Код: sql 1. ERROR: "mc_case" is not a table or foreign table Код: sql 1. ERROR: "mc_case" is not a table or foreign table можно как нибудь это сделать? Вы что то опять очень странное делаете/хотите. ALWAYS триггера нужны для триггерной репликации типа slony/londiste а они таблицы реплицируют а не views. Поэтому смысла в Instead of always триггере на реплике ровно ноль. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 13:33 |
|
||
|
не получается сделать enable always trigger на instead of тригер на вьюхе
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, хочу странного-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 14:18 |
|
||
|
не получается сделать enable always trigger на instead of тригер на вьюхе
|
|||
|---|---|---|---|
|
#18+
LegushkaMaxim Boguk, хочу странного-) Для начала объясните что вы имеете в виду под "надо что бы при репликации этот тригер обязательно срабатывал". -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 14:22 |
|
||
|
не получается сделать enable always trigger на instead of тригер на вьюхе
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk Вы что то опять очень странное делаете/хотите. ALWAYS триггера нужны для триггерной репликации типа slony/londiste а они таблицы реплицируют а не views. Поэтому смысла в Instead of always триггере на реплике ровно ноль. -- Maxim Boguk www.postgresql-consulting.ru - Аполитично рассуждаешь, аполитично рассуждаешь, клянусь, честное слово! Не понимаешь политической ситуации! Ты жизнь видишь только из окна моего персонального автомобиля, клянусь, честное слово! енейбл олвейз нужно для работы в статусе "replika". а где приспичит человеку сделать что--то в этом статусе -- это его дело. допустим в его триггере на таблицу есть строка вставки во вью с задействованием всей логики инстеад--офф триггеров. которая должна работать при приходе записи с мастера. и что, для replika рожать новую ветвь логики ? не используя вьюх? вообще--то поделиями типа лондайста и слонов жизнь не ограничивается. вот нашему товарисчу приспичило что--то дёрнуть в статусе "реплика" , а оно не дёргается -- какие--то долбодятлы за него всё решили. странно, что форейгн тейблы оставили. могли бы и их запретить. "непаложено", типа. товарисч, отредактируйте на тесте таблицу pg_trigger руками (так делать никогда нельзя, кроме как в диверсионных целях) https://www.postgresql.org/docs/9.5/static/catalog-pg-trigger.html уроните тест нафик. и, если не уронется, а заработает -- задайте вопрос в пж-орге -- кому в голову стукнуло навязывать хождения строем. заодно посмотрите --- оно действительно там только ориджин для вьюх, или как раз всегда олвейз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 14:34 |
|
||
|
не получается сделать enable always trigger на instead of тригер на вьюхе
|
|||
|---|---|---|---|
|
#18+
qwwqMaxim Boguk Вы что то опять очень странное делаете/хотите. ALWAYS триггера нужны для триггерной репликации типа slony/londiste а они таблицы реплицируют а не views. Поэтому смысла в Instead of always триггере на реплике ровно ноль. -- Maxim Boguk www.postgresql-consulting.ru - Аполитично рассуждаешь, аполитично рассуждаешь, клянусь, честное слово! Не понимаешь политической ситуации! Ты жизнь видишь только из окна моего персонального автомобиля, клянусь, честное слово! енейбл олвейз нужно для работы в статусе "replika". а где приспичит человеку сделать что--то в этом статусе -- это его дело. допустим в его триггере на таблицу есть строка вставки во вью с задействованием всей логики инстеад--офф триггеров. которая должна работать при приходе записи с мастера. и что, для replika рожать новую ветвь логики ? не используя вьюх? вообще--то поделиями типа лондайста и слонов жизнь не ограничивается. вот нашему товарисчу приспичило что--то дёрнуть в статусе "реплика" , а оно не дёргается -- какие--то долбодятлы за него всё решили. странно, что форейгн тейблы оставили. могли бы и их запретить. "непаложено", типа. товарисч, отредактируйте на тесте таблицу pg_trigger руками (так делать никогда нельзя, кроме как в диверсионных целях) https://www.postgresql.org/docs/9.5/static/catalog-pg-trigger.html уроните тест нафик. и, если не уронется, а заработает -- задайте вопрос в пж-орге -- кому в голову стукнуло навязывать хождения строем. заодно посмотрите --- оно действительно там только ориджин для вьюх, или как раз всегда олвейз. Ну вообще 99% что хождение строем получилось потому что когда делали INSTEAD OF триггера об этом не подумали. 100% аналогично вот этому багу (и тоже про instead of на view): https://www.postgresql.org/message-id/flat/CAJrrPGdfcr3wr42g7SKN1DvuEyPfxBgX06DiyntBcgsK=E5r_Q@mail.gmail.com#CAJrrPGdfcr3wr42g7SKN1DvuEyPfxBgX06DiyntBcgsK=E5r_Q@mail.gmail.com]https://www.postgresql.org/message-id/flat/CAJrrPGdfcr3wr42g7SKN1DvuEyPfxBgX06DiyntBcgsK=E5r_Q@mail.gmail.com#CAJrrPGdfcr3wr42g7SKN1DvuEyPfxBgX06DiyntBcgsK=E5r_Q@mail.gmail.com Кстати правку в 3 строки по этому багу так и не закоммитили (никому нафиг не надо походу). Т.е. не то чтобы что то мешает просто в IF забыли конструкцию добавить. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 14:48 |
|
||
|
не получается сделать enable always trigger на instead of тригер на вьюхе
|
|||
|---|---|---|---|
|
#18+
qwwq, спасибо update pg_trigger set tgenabled = 'A' where tgname = 'блаблабла' сработал, сейачс проверю на деле что выходит. дейстивтельно ли будет always ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 14:48 |
|
||
|
не получается сделать enable always trigger на instead of тригер на вьюхе
|
|||
|---|---|---|---|
|
#18+
qwwq, не работает на тригере проапдейтил поле на 'A' т.е. вьючный тригер должен работать всгда но как только в тригерной функции срабатывает SET session_replication_role TO 'replica'; перестает выполнятся наш вьючный тригер никакого апдейта в итоге не происходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 15:13 |
|
||
|
не получается сделать enable always trigger на instead of тригер на вьюхе
|
|||
|---|---|---|---|
|
#18+
Legushkaqwwq, не работает на тригере проапдейтил поле на 'A' т.е. вьючный тригер должен работать всгда но как только в тригерной функции срабатывает SET session_replication_role TO 'replica'; перестает выполнятся наш вьючный тригер никакого апдейта в итоге не происходит это хорошо, что не работает. соблазна не будет сломать нефритовый стержынь на продакшыне руки целее. ага. а вообще--то в боевом коде писать сет роль ту реплика, да в хранимке, а не в клиенте -- это нездоровые какие--то наклонности. в клиенте -- реплицирующем воркере -- это допустимо, поскольку это и есть бэкдор для реплицирующих клиентов. там оно оттестировано слонпми ии лондайстами. а вот смена роли в хранимке по ходу сессии -- есть сильное подозрение, что оно не настолько бесшовно продумано, чтобы это было без багов. авторы то те же, что и для транзакционного ддл, который течёт по уровням изоляции. т.е. балбесы, не лучше нас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 15:48 |
|
||
|
не получается сделать enable always trigger на instead of тригер на вьюхе
|
|||
|---|---|---|---|
|
#18+
qwwq, в общем создать отдельную функцию и в ней делать все что пожелается с session_replication_role и таблицами запускать эту функцию из нашего инстеад оф тригера главное что бы в подфункции на выходе было session_replication_role = origin и тогда наш тригер не отлкючается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 17:21 |
|
||
|
не получается сделать enable always trigger на instead of тригер на вьюхе
|
|||
|---|---|---|---|
|
#18+
Legushkaqwwq, в общем создать отдельную функцию и в ней делать все что пожелается с session_replication_role и таблицами запускать эту функцию из нашей инстеад оф тригерной функции главное что бы в подфункции на выходе было session_replication_role = origin и тогда наша тригерная функция не отлкючаетсяпоправил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 17:22 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=84&tid=1996927]: |
0ms |
get settings: |
14ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
15ms |
get forum data: |
2ms |
get page messages: |
119ms |
get tp. blocked users: |
3ms |
| others: | 287ms |
| total: | 502ms |

| 0 / 0 |
