Thread: not enough memory
ОС 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. КОНТЕКСТ: COPY config, строка 2508 ВНИМАНИЕ: ошибок проигнорированных при восстановлении: 1 Что это и как решить эту проблему?(как я понимаю как загрузить таблицу config) P.S. на 64 битной системе работало нормально предыдущая версия постгреса (Fedora Core 11).
Сколько памяти установлено на машине? Какое значение shared_buffers в конфиге? -- Best regards, Anton Krasikov 2010/4/29 Овчинников Александр <deru@yandex.ru>: > ОС 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. > КОНТЕКСТ: COPY config, строка 2508 > ВНИМАНИЕ: ошибок проигнорированных при восстановлении: 1 > > Что это и как решить эту проблему?(как я понимаю как загрузить таблицу config) > > P.S. на 64 битной системе работало нормально предыдущая версия постгреса (Fedora Core 11). > > -- > Sent via pgsql-ru-general mailing list (pgsql-ru-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-ru-general >
Какие значения shared_buffers, SHMMAX, SHMALL? 2010/4/29 Овчинников Александр <deru@yandex.ru>: > ОС 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. > КОНТЕКСТ: COPY config, строка 2508 > ВНИМАНИЕ: ошибок проигнорированных при восстановлении: 1 > > Что это и как решить эту проблему?(как я понимаю как загрузить таблицу config) > > P.S. на 64 битной системе работало нормально предыдущая версия постгреса (Fedora Core 11). > > -- > Sent via pgsql-ru-general mailing list (pgsql-ru-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-ru-general > -- Sergey Konoplev Blog: http://gray-hemp.blogspot.com / Linkedin: http://ru.linkedin.com/in/grayhemp / JID/GTalk: gray.ru@gmail.com / Skype: gray-hemp / ICQ: 29353802
Овчинников Александр <deru@yandex.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'а в операционной системе :)