172 похожих чатов

Добрый день. Ужасно тормозит постгрес на винде при удалении из таблицы. (удаление

одной строчки 2+ часа)


При этом диск не нагружен совсем, проц тоже.

Антивирус выключили.

Блоккировок нет.

Индексы по внешник ключам у зависимых таблиц есть.

Из-за чего тормоза могут быть?
Не пойму куда еще можно посмотреть, прямо сейчас удаление запущено.

13 ответов

21 просмотр

delete from table where ? а так explain больше покажет. Реплика еще настроена поди ?

8921-*** ** ** Автор вопроса
Марсель Габдрахманов
delete from table where ? а так explain больше пок...

Реплика отсутствует. EXPLAIN ANALYZE в навикате показал все в отдельном гриде и сохранить не получилось, видно было что там каскадное удаление по десятку таблиц запускается. Сейчас в psql запустил чтобы сохранить, но ждать это несколько часов придется. Думаю пока что можно посмотреть в процессе.

8921 *** ** **
Реплика отсутствует. EXPLAIN ANALYZE в навикате п...

выше написал + возможно блокировка висит

8921-*** ** ** Автор вопроса
Pavel Chernoskutov
выше написал + возможно блокировка висит

в том то и дело что нет блокировки и нагрузки тоже нет на диск\проц (

Закреп-то покажыте: https://t.me/pgsql/303899 (Ну и да, каскадное удаление кагбэ намекает, что в одной или нескольких таблицах, ссылающихся на эту — отсутствует индэкс на соответствующие поля. Но можэт и нет. Можэт там просто миллиард записей удаляется.)

8921-*** ** ** Автор вопроса
Ilya Anfimov
Закреп-то покажыте: https://t.me/pgsql/303899 (Ну...

При отсутствие индекса началось бы полное сканирование таблицы, что вызвало бы нагрузку на диск. То же самое при удалении миллиарда записей ( А тут очереди нет, на запись 800 Кб в сек на чтение 70 Кб в сек... Индексы по внешним ключам проверял. (и скриптами и даже в ручную) https://stackoverflow.com/questions/970562/postgres-and-indexes-on-foreign-keys-and-primary-keys -- check for FKs where there is no matching index -- on the referencing side -- or a bad index ... WITH fk_actions ( code, action ) AS ( VALUES ( 'a', 'error' ) ... Если поделитесь еще каким-нибудь скриптиком для проверки, буду благодарен. Версия 11 Запрос DELETE FROM my_table WHERE id=100; ИНдекс по id есть, он уникальный.

8921 *** ** **
При отсутствие индекса началось бы полное сканиров...

Ну, вам ужэ всё в принцыпе сказали. Смотрите pg_stat_activity, что он там делает, соьирайте всю инфу из закрепа.

8921-*** ** ** Автор вопроса
Ilya Anfimov
Ну, вам ужэ всё в принцыпе сказали. Смотрите pg_s...

Оно там выполняется, блокировок нет. DDL всех десятков таблиц, учавствующих в каскадном удалении смысла писать не вижу.

8921 *** ** **
Оно там выполняется, блокировок нет. DDL всех дес...

1) Я не верю в магию. Процэсс или что-то делает, или чего-то ждёт. Расследование этого начинается с pg_stat_activity, результаты explain и gdb — могут быть полезны. Ещё можно количество bloat в таблицах подсчитать, нет ли там таблиц с 2/3 и более мусора непылешошэнного. 2) Я не верю в магию. Потому не могу тут наванговать, что у вас там случилось без рапортов утилит анализа системы. Соответственно, раз вы жмётесь выкладывать данные — то ничего конкретного сказать не выйдет. Только общие советы, вам их все дали.

8921-*** ** ** Автор вопроса
Ilya Anfimov
1) Я не верю в магию. Процэсс или что-то делает, ...

Похоже проблема найдена. На сервере было два антивируса. Второй оставался включеным. Как отключили - стало норм.

8921-*** ** ** Автор вопроса
Ilya Anfimov
Винда что ли?

Она самая. Надо наверное третий антивирус ставить чтобы таких проблем не было :-)

8921 *** ** **
Она самая. Надо наверное третий антивирус ставить...

хм, антивирус как мне кажется по идее должен был грузить систему (а именно CPU), раз он в режиме реального времени отслеживает угрозы

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта