Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ограничения вместо триггеров
|
|||
|---|---|---|---|
|
#18+
Раньше работал на psql версии 7.2.1 Там при создании таблицы, например так: create table ...( ... client_id int2 not null references client(id), ... ); автоматически создавался триггер, который поддерживал целостность. соответственно в описании таблицы (которое \d table) Выводились строки типа "RI_ConstraintTrigger_8685160" AFTER INSERT OR UPDATE ON voip_rekv FROM clients NOT DEFERRABLE INITIALLY IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_check_ins"('<unnamed>', 'voip_rekv', 'clients', 'UNSPECIFIED', 'client_id', 'id') Сейчас перешел на 7.4.6, и при создании таблиц таким же кодом, создаются просто внешние ограничения, и в описании таблицы выводится такие строки: "$1" FOREIGN KEY (client_id) REFERENCES clients(id) Можно ли настроить Postgres, чтобы он работал как раньше? Причина: при старом варианте спокойно работало truncate, если целостность не нарушается. а при новом варианте truncate пишет ошибку, типа на эту таблицу ссылаются, поэтому truncate не разрешен. Хотя ссылающаяся таблица пустая! Помогите, плиз!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 19:57 |
|
||
|
ограничения вместо триггеров
|
|||
|---|---|---|---|
|
#18+
а truncate cascade (по аналогии с drop ... cascade) не пробовал ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2005, 10:54 |
|
||
|
ограничения вместо триггеров
|
|||
|---|---|---|---|
|
#18+
Ага, я уже разобрался. просто truncate не работает в таблицах, где есть внешние ключи. Так что буду удалять строки командой delete * from <table> Скорость в данном случае для меня не важна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2005, 09:03 |
|
||
|
ограничения вместо триггеров
|
|||
|---|---|---|---|
|
#18+
D.mon - Это я (зарегистрировался) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2005, 09:04 |
|
||
|
ограничения вместо триггеров
|
|||
|---|---|---|---|
|
#18+
Скрябин ДмитрийАга, я уже разобрался. просто truncate не работает в таблицах, где есть внешние ключи. Так что буду удалять строки командой delete * from <table> Скорость в данном случае для меня не важна Работает. Просто надо делать truncate общий: TRUNCATE TABLE table1, table2, ........, tableN; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2007, 16:52 |
|
||
|
|

start [/forum/topic.php?fid=53&tid=2005539]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 370ms |

| 0 / 0 |
