|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
Приветствую. В ночном задании при попытке удаления таблицы процесс удаления становится жертвой взаимоблокировки. ПОдскажите пожалуйста, как можно удалить таблицу и не стать жертвой? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 14:52 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
Приоритет мож процесса как-то повысить чтобы жертвой его не выбирали? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 15:27 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
В общем, есть огромная партичированная таблица. И удаляются части ее партиций. Можно ли как-то отключить перед удалением партицию, которую собираюсь удалить? Читаю сейчас про это: NO INHERIT таблица_родитель Эта форма удаляет целевую таблицу из списка потомков указанной родительской таблицы. Результаты запросов к родительской таблице после этого не будут включать записи, взятые из целевой таблицы. Вроде похоже на отключение, но никогда так не делал. Подскажите, можно ли ее Код: sql 1.
А потом: Код: sql 1.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 15:46 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
сникерс, можно, но обычно одна ошибка при этом сменяется другой (другими) стесняюсь спросить -- в "головной" таблице ONLY у вас часом не завалялось записей ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 15:49 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
qwwqсникерс, можно, но обычно одна ошибка при этом сменяется другой (другими) стесняюсь спросить -- в "головной" таблице ONLY у вас часом не завалялось записей ? Ну а если сделать NO INHERIT пауза DROP ? про ONLY не понял.. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 16:00 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
qwwqодна ошибка при этом сменяется другой (другими) А можете сказать хоть примерно какие ошибки появляются? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 16:22 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
сникерсqwwqодна ошибка при этом сменяется другой (другими) А можете сказать хоть примерно какие ошибки появляются? поищите сами. вкратце -- ошибка выполнения уже стартовавших запросов к таблице, по причине либо недоступности спланированной в план таблички(DROP). либо отсутствия уже спланированного объекта (кажется колонки) в числе наследуемых (NO INHERIT). когда-то держал живую ссылку на оное ага , случайно вспомнил https://www.postgresql.org/message-id/4A083AAA.2020808@agama.tv -- это в момент дропа. про NO INHERIT с лёта не найду, но тоже приятно. про Код: sql 1.
-- "понаберут по объявлениям"(сс) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 16:44 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
qwwqсникерспропущено... А можете сказать хоть примерно какие ошибки появляются? поищите сами. вкратце -- ошибка выполнения уже стартовавших запросов к таблице, по причине либо недоступности спланированной в план таблички(DROP). либо отсутствия уже спланированного объекта (кажется колонки) в числе наследуемых (NO INHERIT). когда-то держал живую ссылку на оное ага , случайно вспомнил https://www.postgresql.org/message-id/4A083AAA.2020808@agama.tv]https://www.postgresql.org/message-id/4A083AAA.2020808@agama.tv -- это в момент дропа. про NO INHERIT с лёта не найду, но тоже приятно. про Код: sql 1.
-- "понаберут по объявлениям"(сс) В данном конкретном случае это не страшно, т.к. там только селекты идут. На счет ONLY почитал, но не совсем понял связь с вопросом. А скажите, есть ли какая-нибудь функция узнать родительскую таблицу для таблицы_партиции? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 17:43 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
qwwq Код: sql 1.
В родительской пусто. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 17:47 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
сникерсА скажите, есть ли какая-нибудь функция узнать родительскую таблицу для таблицы_партиции? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 17:59 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
сникерс, чо, и диплом купил ? Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 18:14 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
qwwqсникерс, чо, и диплом купил ? Код: sql 1. 2. 3. 4. 5. 6.
Да дорогие дипломы-то.... Спасибо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 18:17 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
Еще осталось придумать как паузу сделать между командами. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 18:17 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
сникерсЕще осталось придумать как паузу сделать между командами. пока не нашел как. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 18:31 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 18:32 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
сникерсЕще осталось придумать как паузу сделать между командами. а зачем ? если конечно не секрет. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 18:53 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 18:53 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
qwwqсникерсЕще осталось придумать как паузу сделать между командами. а зачем ? если конечно не секрет. Сделал так: Код: sql 1. 2. 3. 4. 5.
Но паузы в 60 сек оказалось недостаточно. С первого раза не удаляется таблица. А расчитывал на то что select-ы за время паузы завершаться, а новые таблица_родитель уже будут без использования таблица_партиция, которую надо удалить. Но это в теории, на практике как лучше реализовать я не знаю ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 18:57 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
ursidoсникерс, pg_sleep(100) не надо учить детей плохому. кстати недавно заметил, что пжодмин3 под линухами ведёт себя много много хуже , чем пжодмин под виндой. когда одновременно пытаешься работать в разных конкурирующих окнах--сеансах. до того плохо, что пришлось из psql cancel-ить бекенды, после попытки cancel-нуть сеанс, с детским pg_sleep(1000) в dblink. всегда знал, что гуй в линухах для проформы. из говна и палок ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 19:00 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
сникерс Код: sql 1. 2. 3. 4. 5.
это всё в одной транзакции ? или вы транзакций не различаете ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 19:02 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
qwwqне надо учить детей плохому. Здесь не приветствуется мат, упоминание падших женщин и массовые расстрелы. Остается только это. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 19:03 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
qwwqursidoсникерс, pg_sleep(100) не надо учить детей плохому. кстати недавно заметил, что пжодмин3 под линухами ведёт себя много много хуже , чем пжодмин под виндой. когда одновременно пытаешься работать в разных конкурирующих окнах--сеансах. до того плохо, что пришлось из psql cancel-ить бекенды, после попытки cancel-нуть сеанс, с детским pg_sleep(1000) в dblink. всегда знал, что гуй в линухах для проформы. из говна и палок Тут дети интересуются что плохого в pg_sleep(100), если он выполняется на сервере из крона? А пг админ это да, жесть. Но тоад еще большее говнище. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 19:03 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
сникерсТут дети интересуются что плохого в pg_sleep(100), если он выполняется на сервере из крона? Обычно усилия прикладываются для ускорения выполнения скриптов. Если Вы прикладываете усилия по его замедлению, то ой! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 19:05 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
qwwqсникерс Код: sql 1. 2. 3. 4. 5.
это всё в одной транзакции ? или вы транзакций не различаете ? Это все в одном блоке EXECUTE через ; каждая команда. Кстати, с высоты ваших знаний, какой изящный вариант дропанья таблица_партиция можно сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 19:05 |
|
Как удалить таблицу и не стать жертвой взаимоблокировки?
|
|||
---|---|---|---|
#18+
ursidoсникерсТут дети интересуются что плохого в pg_sleep(100), если он выполняется на сервере из крона? Обычно усилия прикладываются для ускорения выполнения скриптов. Если Вы прикладываете усилия по его замедлению, то ой! там дропается пяток таблиц. А это утверждение разве не верно? А расчитывал на то что select-ы за время паузы завершаться, а новые таблица_родитель уже будут без использования таблица_партиция, которую надо удалить. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 19:06 |
|
|
start [/forum/topic.php?fid=53&msg=39468965&tid=1996390]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 329ms |
total: | 480ms |
0 / 0 |