|
|
|
[хочу странного] как удостовериться в отсутствии конкурентов в моменте
|
|||
|---|---|---|---|
|
#18+
qwwq, вы не может просто ничего написать. 1) ваша попытка была изначально не верна по сути, так как вы не знали, про то, что pg_stat_activity показывает не "синхронное" с запросом состояние бекендов. 2) вы не может делать alter table и это вас якобы ограничивает. ну ок, вы не разобрались, как делать нормально альтер тейбл в постгресе (без локов видимо, а возможно вы и не понимаете какие локи на таблицы и как накладываются), и лондайст тут не при чем, так как он позволяет всё делать очень даже нормально, но вы тоже видимо не доразобрались. https://wiki.postgresql.org/wiki/Londiste_Tutorial_(Skytools_2) https://wiki.postgresql.org/wiki/Londiste_Tutorial_(Skytools_2)#Adding_a_column_to_a_replicated_table Adding a column to a replicated table This case is handled in a simple process: 1. add the column on all the subscribers 2. BEGIN; -- on the provider 3. add the column on the provider 4. SELECT londiste.provider_refresh_trigger('queue_name', 'tablename'); 5. COMMIT; // с пункта 2 по 5 процесса (рекомендация для любого альтера, а для пункта 1 может быть не важно, так как один поток репликационного консумера может подождать спокойно) нужен контроль блокировок set statement timeout и set deadlock timeout, последний для отстрела вакуума параллельного 3) вы вроде отвергли предложение о "батчах как в банках" так как там можно получить "большие батчи", но! ваше предложение с гипотетическим "отловом" подходящих моментов тоже может долго (и даже бесконечно долго) не находить "подходящего" момента --- и "большой батч" опять появится ну и успехов, пишите еще, да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2015, 23:16 |
|
||
|
[хочу странного] как удостовериться в отсутствии конкурентов в моменте
|
|||
|---|---|---|---|
|
#18+
Misha Tyurin, ой деточка, ну не надо так дуться мало ли, что вам не понятно так вы все нервные клетки порастратите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 08:01 |
|
||
|
[хочу странного] как удостовериться в отсутствии конкурентов в моменте
|
|||
|---|---|---|---|
|
#18+
Misha Tyurin, можете радоваться. макетик в работу не пойдёт. хотя работает как часики. не пойдёт не потому, что "большие батчи" -- [вы как -- то удивительно тупо читаете, не различая параллельно рассматриваемых кейсов] -- батчи я волен нарезать сам. любые из диапазона. и не потому, что "может бесконечно долго"-- пауза равна длине пишущей транзакции, паузы не складываются. даже когда транзакции "накладываются" по времени. (тестил, а не только по идеологии) --100 секундную задержку догоняет махом. а потому, что нет гарантии что нам не захочется иметь когда--то в том же месте одну долгую транзакцию, более долгую, чем мы согласны будем терпеть в реплике. а отфильтровать транзакции по автору в снапшоте -- нет возможности. (или я пока не знаю -- как). как -- то так. т.е. штучка получилась для очень узкоспецифичной задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 18:43 |
|
||
|
[хочу странного] как удостовериться в отсутствии конкурентов в моменте
|
|||
|---|---|---|---|
|
#18+
гнусный хак, позволяющий (с оговорками на "сабтранзакции" и точку замыкания xid) отстроится от "чужих" долгих транзакций : // повторяю, считается что в канале фиксации идут только insert, и канал имеет именованного пользователя. не занимающегося больше ничем. гнуснокод Код: 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. и соответственно регистрация тика: "тикер" Код: 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. 42. 43. 44. 45. 46. 47. 48. -- понятно, что такие хаки моя совать в работу не будет но тесты показывают -- что фигачит как часы. если долгие "чужие" конкуренты простые, без т.н. "сабтранзов". [печаль] вот жешь и сверло с винтом сыскалося из овна слепленное, но фурыкает, как не странно ещё бы и переключалку с простого исчисления на сложное -- чтобы в пустую стат--активити не опрашивать и вообще крысота б была куда--нть в рисковое место запихать, с необязательной доставкой, что ли -- для опытов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 13:06 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39053467&tid=1997765]: |
0ms |
get settings: |
9ms |
get forum list: |
27ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
85ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 440ms |

| 0 / 0 |
