|
|
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, а каже тогда блюсти разделение мира и при этом быть уверенным что его не сломают - надо разным группам юзеров давать работать с определенными документами - наилучший способ через view с WITH(security_barrier = true), но получается что в ПЖ нельзя соединить прекрасное с полезным...( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 16:51:12 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
могли бы дать приоритет constraint_exclusion!? может надо написать разработчикам? или на заборе? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 17:00:19 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
Код: sql 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. 33. 34. 35. 36. 37. 38. 39. 40. 41. как бе вот так ]:0] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 17:20:08 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
qwwq, Спасибо за код! Насколько я понимаю план у такого view будет совсем не оптимальный - у меня на тестовых данных разница во времени выполнения запросов к view и таблице - 8 раз, хотя индексы у всех секций по полю no созданы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 17:46:08 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
вопрос к практике применения - поделитесь пожалуйста опытом реального боевого применения секционирования: насколько оправдано, производительность, впечатления, а то я уже сильно сомневаюсь использовать ли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 18:20:43 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
столкнулся с еще одной неприятностью - невозможно контролировать уникальность поля no - я создал уникальный индекс для каждой секции, но уникальность проверяется только на уровне секции а не на уровне всех секций - необходимо в триггерах производить дополнительную проверку на уникальность полей во всех секциях!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 19:14:57 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
опечатка - вместо уникальность поля no читаем любое другое поле, требующее уникальности во всей таблице ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 19:23:31 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
как обновить план для вью? после добавления и удаления секций план запроса показывает обращение к несуществующим секциям ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 19:50:37 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
spопечатка - вместо уникальность поля no читаем любое другое поле, требующее уникальности во всей таблице это известное ограничение партиционирования в postgresql с ним надо мириться и как то жить пока... вообще если вам требуется жесткий uniq не на serial primary key - скорее всего эту таблицу партиционировать не надо :). обычно партиционирование это для всяких архивно-накопительных данных с партиционированнием по дате... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 01:21:31 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, У нас активно растущая база договоров - ежедневно по 200-500 шт Это самая быстрорастущая таблица. Ее секционирование разумно по дате, но должен соблюдаться и принцип уникальности номеров договоров в совокупности с серией ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 15:42:10 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
spMaxim Boguk, У нас активно растущая база договоров - ежедневно по 200-500 шт Это самая быстрорастущая таблица. Ее секционирование разумно по дате, но должен соблюдаться и принцип уникальности номеров договоров в совокупности с сериейсекционирование имеет смысл в postgresql в основном, если вам нужно делать DROP старых данных секциями. (а равносильный delete выполняется часами или сутками ) договора, очевидно, дропаться за разумное время жизни проги не будут. человек, придумывающий на свою 5-ю точку приключения в виде партицирования (в пг) там, где нужно всего-то продумать правильное индексирование - ССЗБ. при 1000-х накладных в день и 10-х (20-50) позиций в них нет (по моему опыту) никакой необходимости партицировать таблицу строк накладных (не говоря о шапках). всё равно, вы её чистить не будете никогда (за время жизни программы -- т.к. в бумаге что-то найти ещё сложнее, чем в программе. а хранить бумагу, и находить что-то в ней надо долго). а доступаться - индексно. Единственно - со временем можете сделать партицирование по годам. (при этом уникью нумерации док-тов вам нужно внутри года, согласно законодательства). Ну , это если делать вам будет нечего. ессно. на худой -- сделайте секционирование по части вашего уникью. (год это у вас, или серия - вам лучше знать). но я б не стал вообще . (а вот про индексы бы подумал, так чтобы никогда поиск не проходил фулсканом) поскольку гемора вы с партицированием получаете вагон и тележку (если не собираетесь писать говнокод без ссылочной целостности и прочих признаков приличной учётной БД). а выгод [в вашем случае - точно] - никаких. От слова вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 16:11:03 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
qwwq, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 16:27:34 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
qwwq, Тут возник еще один вопрос не очень освещенный в документации - при создании секций надо ли и какие (партиции на другие таблицы или других тадиц на партицию) создавать связи с другими таблицами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 19:46:00 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
sp, с FK при партицировании (мастер таблиц) всё нехорошо если только ссылающиеся (slave|detail) таблицы не отпартицированы так же (по тому же признаку) что и ссылаемые (master|header). Тогда появляется возможность сделать аккуратные FK-еи между одинаково нарезанными партициями мастеров|шапок и подчинёнок|деталировок если же партицируется только ссылающаяся сторона - проблем нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 20:18:23 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
йццй, както вы сложно изъяснились - читал кучу раз :) понятно только последнее предложение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 00:14:52 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
qwwq Код: sql 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. 33. 34. 35. 36. 37. 38. 39. 40. 41. как бе вот так ]:0] Большая проблема с таким способом, что нельзя оперативно изменить вью при создании секции если мы вставляем данные используя запрос к этому вью!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 21:06:21 |
|
||
|
Использование record в CHECK constarint
|
|||
|---|---|---|---|
|
#18+
spqwwq Код: sql 1. как бе вот так ]:0] Большая проблема с таким способом, что нельзя оперативно изменить вью при создании секции если мы вставляем данные используя запрос к этому вью!!! а кто-то обещал другоэ ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 08:11:28 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38558981&tid=1998846]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 434ms |

| 0 / 0 |
