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

Доброго дня! Товарищи, подскажите, пожалуйста: ERROR: invalid memory alloc request size

1073741824
CONTEXT: SQL statement "SELECT pg_notify('transactions_log_insert', CAST(NEW.id AS TEXT))"
PL/pgSQL function public.transactions_log_insert() line 3 at PERFORM

Что ему не нравится?
work_mem = 1,5 Gb
Куда можно копнуть еще?
Операция возникновения ошибки - восстановление из бэкапа, psql

14 ответов

21 просмотр

Уменьшыть work_mem. Я, правда, непонимаю -- зачем и почему при восстановлении дампа появляются pg_notify какие-то? Там триггеры что ли какие-то выполняются в процэссе? Отключать хорошо бы временно их выполнение.

Alexander-Trahtenberg Автор вопроса
Ilya Anfimov
Уменьшыть work_mem. Я, правда, непонимаю -- зачем...

Т.е. снизить work_mem с 1.5Гб до 512 хотя бы - норм будет? - Но почему, он же говорит, что ему 1.074 Мб надо, если я правильно понимаю суть ошибки Можно, пожалуйста, подробнее про триггеры?

Alexander Trahtenberg
Т.е. снизить work_mem с 1.5Гб до 512 хотя бы - нор...

Сразу до 64. Но не уверен вообще, что поможэт. Если notify накапливаются только в памяти, и никогда не выгружаются на диск (я не знаю, так ли это, надо в коде смотреть) -- то на work_mem ему плевать будет, оно всё равно весь объём таблицы закинет в очередь notify. А про триггеры -- смотрите, откуда они там берутся. Точнее -- откуда вообще какое-то выполнение какого-то notify. По идее -- все триггеры восстанавливаются в концэ дампа. Можэт, от старой какой-то базы остались.

В самом бекапе нет ошибок? Можно ли при восстановлении данных отключить уведомления notify и попробовать восстановить так?

Alexander-Trahtenberg Автор вопроса
Алексей
В самом бекапе нет ошибок? Можно ли при восстановл...

В самом бэкапе нет ошибок, сначала бэкап схемы, а потом данные. Все обезличено. Наверное можно, но как?)

Alexander Trahtenberg
В самом бэкапе нет ошибок, сначала бэкап схемы, а ...

В смысле -- разными файлами бэкап схемы и данных? Тогда вот тут вы и встряли. Но, в общем, фигурно всё порезать -- невелика проблема. Установку триггеров в конец данных перенести.

Alexander Trahtenberg
В самом бэкапе нет ошибок, сначала бэкап схемы, а ...

Если эти уведомления лежат в триггерах, то таким образом: https://stackoverflow.com/questions/3942258/how-do-i-temporarily-disable-triggers-in-postgresql Если это просто в какой-то из процедур, то смотреть код в них.

Ilya Anfimov
Ого! Про session_replication_role не знал.

Я тоже, но я имел в виду обычный ALTER TABLE из ответа ниже, хотя и это, должно быть, будет работать.

Alexander-Trahtenberg Автор вопроса
Ilya Anfimov
В смысле -- разными файлами бэкап схемы и данных? ...

Да, База среднего размера. Поэтому сначала обезличенную схему, а потом обезличенные данные. Вот такая идея залива

Alexander-Trahtenberg Автор вопроса
Ilya Anfimov
В смысле -- разными файлами бэкап схемы и данных? ...

А вот можно по - подробнее, пожалуйста, про перенос установки триггеров в конец? Это в структурном бэкапе или с данными уже?

Alexander Trahtenberg
Да, База среднего размера. Поэтому сначала обезлич...

будете данные поверх индексов и форейнкеев заливать, будет медленно, много ИО, много wal и надо будет соблюдать порядок таблиц или отключать форейнкеи

Alexander Trahtenberg
А вот можно по - подробнее, пожалуйста, про перено...

Да в любом. Точнее, нет, наоборот -- дажэ если структурный, то перегнать сначала в плоский файл. Отрезать от схемы CREATE TRIGGER в отдельный файл любым редактором, выполнить потом оба файла подряд -- с заливкой и с CREATE TRIGGER.

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

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

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Добрый день подскажите пожалуйста может кто то сталкивался с ошибками Sentry 22.10.0 развернутым из helm чарт в Kubernetes? Изначально 3 дня назад очень стало много событий ух...
Tire4 Finist Devops
1
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
почому оно не работает?
Vi Chapmann Chapmann
19
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
19
Так а кто может спарсить всех участников чата? Идишники
Magic
18
Карта сайта