Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
DISABLE TRIGGER ALL
|
|||
|---|---|---|---|
|
#18+
Привет. В документации по PostgreSQL вскользь упоминается: дока ALL Disable or enable all triggers belonging to the table. (This requires superuser privilege if any of the triggers are for foreign key constraints.) Как понял я, если я это выполню - то отключу все триггеры на таблице, в том числе системные, которые обеспечивают выполнение ограничений целостности для FKs? Если это так, то я смогу сделать вставку данных в нужные мне таблицы, даже если FK будет нарушен. Однако это не срабатывает, я постоянно получаю ошибки в стиле: Код: plaintext 1. Если же нельзя, то ничего если в моей базе все constraint'ы будут deffered? Это ничем не грозит в будущем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2008, 17:27 |
|
||
|
DISABLE TRIGGER ALL
|
|||
|---|---|---|---|
|
#18+
PS: Версия PostgreSQL: 8.3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2008, 17:28 |
|
||
|
DISABLE TRIGGER ALL
|
|||
|---|---|---|---|
|
#18+
авторThis requires superuser privilege if any of the triggers are for foreign key constraints. Вы уверены что делаете Код: plaintext -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2008, 17:49 |
|
||
|
DISABLE TRIGGER ALL
|
|||
|---|---|---|---|
|
#18+
да, 100%. Все равно не работает. Я подумал и решил сделать все FK deferrable initially immediate, а перед заливкой данных set constraints deferred - а после set constraints immediate. Думаю, мне этого будет достаточно - но все равно не нравиться такой подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2008, 18:29 |
|
||
|
DISABLE TRIGGER ALL
|
|||
|---|---|---|---|
|
#18+
Вы нашли правильный метод. DISABLE TRIGGER ALL не отключает системные триггеры, поэтому при необходимости рекомендуется делать в транзакции SET CONSTRAINTS ALL DEFERRED и ограничения целостности у вас будут проверяться в момент COMMIT. Обратный SET можно не делать, так как настройка работает только в течение транзакции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2008, 13:15 |
|
||
|
DISABLE TRIGGER ALL
|
|||
|---|---|---|---|
|
#18+
поддерживаю, через deferred - правильно но disable triger all таки отключает и системные тригеры (если выполнять эту команду от администратора): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. ps 8.3.3 -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2008, 15:19 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=35523320&tid=2004087]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 370ms |

| 0 / 0 |
