Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Партиционирование и внешние ключи
|
|||
|---|---|---|---|
|
#18+
У кого какой опыт есть решения проблемы наложения внешних ключей на партиционированную таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2007, 12:11 |
|
||
|
Партиционирование и внешние ключи
|
|||
|---|---|---|---|
|
#18+
А в чём вы видите особенности? Распространите свой вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2007, 10:17 |
|
||
|
Партиционирование и внешние ключи
|
|||
|---|---|---|---|
|
#18+
Ограничения внешних ключей не наследуются ( http://www.postgresql.org/docs/8.2/interactive/ddl-inherit.html : 5.8.1. Caveats). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2007, 10:37 |
|
||
|
Партиционирование и внешние ключи
|
|||
|---|---|---|---|
|
#18+
Проблема состоит в следующем. Есть таблицы А и Б. С Б на А идет внешний ключ.Таблица А партиционирована в строгом соответствие с http://www.postgresql.org/docs/8.2/interactive/ddl-partitioning.html , таким образом при вставке в А в нее реально ничего не вставляетя. При вставке данных в Б - возникает ошибка с жалобой на внешний ключ. Кто как борололся с проблемой? Поделитесь пожалуйста опытом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2007, 13:23 |
|
||
|
Партиционирование и внешние ключи
|
|||
|---|---|---|---|
|
#18+
Внешнии ключи не наследуются. Так как "реально" в А ничего не вставляется то и возникает "касяк". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2007, 13:41 |
|
||
|
Партиционирование и внешние ключи
|
|||
|---|---|---|---|
|
#18+
Надо избавляться от подобного внешнего ключа. Можно написать свою проверку ссылочной целостности через триггер, например, или через другие таблицы, в которых реально будут эти значения ключей, на которые ссылается внешний ключ из Б. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2007, 13:43 |
|
||
|
Партиционирование и внешние ключи
|
|||
|---|---|---|---|
|
#18+
Спасибо за вариант. Но может есть способы, чтоб и партиции и ключи были? ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2007, 14:28 |
|
||
|
Партиционирование и внешние ключи
|
|||
|---|---|---|---|
|
#18+
Форейн кей на множество таблиц...? Чё-то сходу решение не получается. Надо наверное триггер перед вставкой/изменеием всётаки сделать для таблицы Б. А в нём смотреть в объединение всех партиций и проверять есть ли там ключ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2007, 15:40 |
|
||
|
Партиционирование и внешние ключи
|
|||
|---|---|---|---|
|
#18+
У меня вот какой еще вариант есть. К нему склоняюсь. Таблицы А и Б партиционировать по однотипным правилам, таким образом что записи из А.1 будут ссылаться на Б.1, из А.2 на Б.2 и из А на Б. При этом вроде бы и волки целы и овцы сыты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2007, 10:15 |
|
||
|
Партиционирование и внешние ключи
|
|||
|---|---|---|---|
|
#18+
Только следует учесть, что с каждой новой парой партиций надо будет создавать внешний ключ вида Бn -> Аn. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2007, 12:20 |
|
||
|
Партиционирование и внешние ключи
|
|||
|---|---|---|---|
|
#18+
Мда! Во выясняется! А мускул 5.1 такого кажись не допустит. Там разделенная таблица логически как одна работает и FK на нее запросто... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2007, 14:06 |
|
||
|
Партиционирование и внешние ключи
|
|||
|---|---|---|---|
|
#18+
MySQLCraftМда! Во выясняется! А мускул 5.1 такого кажись не допустит. Там разделенная таблица логически как одна работает и FK на нее запросто...видимо надо иметь в виду, что в постгрес "разделение" является побочным результатом - кому-то пришло в голову именно так пытаться использовать его фичу - идеологию наследования (INHERIT). которая сама по себе шире "разделения". (а больше похожа на иерархию классов) Но, какабычна, более широкое решение (пока?) не содержит требуемых более узким применением фич. Просто из-за того, что "ширина" INHERIT заведомо выходит за случаи, позволяющие однозначно наследовать и прочие чеки. Наследуются только чеки, другие ограничения надо расписывать самостийно. Видимо, постгресу требуется развитие идеологии наследования по пути классификации различных случаев наследования, и обвязке этих случаев дополнительными служебными словами и прочими средствами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2007, 14:20 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34516737&tid=2005462]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 382ms |

| 0 / 0 |
