From: | Sergey Burladyan <eshkinkot(at)gmail(dot)com> |
---|---|
To: | Овчинников Александр <deru(at)yandex(dot)ru> |
Cc: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | Re: not enough memory |
Date: | 2010-05-13 20:55:32 |
Message-ID: | 87tyqbplmj.fsf@home.progtech.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
Овчинников Александр <deru(at)yandex(dot)ru> writes:
> ОС CentOS 5.4 32-битная ядро PAE
> версия постгрес - 8.3.8 1С (1С ная)
> Вопрос:
> создаю архив базы при помощи pg_dump -F c
> восстанавливаю pg_restore
> pg_restore что-то восстанавливает и в конце пишет
> pg_restore: [архиватор (db)] Ошибка при ОБРАБОТКЕ ОГЛАВЛЕНИЯ:
> pg_restore: [архиватор (db)] Ошибка из записи оглавления 28066; 0 16892 TABLE DATA config sqlya
> pg_restore: [архиватор (db)] COPY failed: ERROR: не хватает памяти
> ПОДРОБНО: Ошибка при запросе размера 536870912.
Скорее всего — не хватает адресного пространства процесса под обработку какого-то bytea поля. 1С их
широко использует.
> Что это и как решить эту проблему?(как я понимаю как загрузить таблицу config)
Попробуйте освободить адресное пространство убрав ненужные разделяемые библиотеки из
shared_preload_libraries, уменьшив shared_buffers.
> P.S. на 64 битной системе работало нормально предыдущая версия постгреса (Fedora Core 11).
Это самое правильное и простое решение :) но возможно патчи 1С будут некорректно работать для 64-х
битной версии.
Проблема связана со способом обработки bytea полей, сервер их обрабатывает целиком, выделяя под него
память непрерывным куском, поэтому иногда в 32-х битной версии можно получить bytea поле которое
невозможно будет загрузить обратно в базу.
ps: а возможно всё проще и у Вас просто не хватает swap'а в операционной системе :)
From | Date | Subject | |
---|---|---|---|
Next Message | wDevil wDevil | 2010-05-14 09:56:01 | where in(...) order by field in(...) desc. Сортировка не применяется |
Previous Message | Sergey Konoplev | 2010-04-29 09:35:22 | Re: not enough memory |