Re: not enough memory

Lists: pgsql-ru-general
From: Овчинников Александр <deru(at)yandex(dot)ru>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: not enough memory
Date: 2010-04-29 05:35:59
Message-ID: 121411272519359@web68.yandex.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ru-general

ОС 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).


From: Anton Krasikov <krasikov(at)gmail(dot)com>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: not enough memory
Date: 2010-04-29 09:18:35
Message-ID: q2hefd75d531004290218ie42a6eb1r54447176d9dca15e@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ru-general

Сколько памяти установлено на машине? Какое значение shared_buffers в конфиге?

--
Best regards,
Anton Krasikov

2010/4/29 Овчинников Александр <deru(at)yandex(dot)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(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-ru-general
>


From: Sergey Konoplev <gray(dot)ru(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-04-29 09:35:22
Message-ID: p2tc3a7de1f1004290235w2c5c5f4sd42f3b4a6b8006ad@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ru-general

Какие значения shared_buffers, SHMMAX, SHMALL?

2010/4/29 Овчинников Александр <deru(at)yandex(dot)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(at)postgresql(dot)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(dot)ru(at)gmail(dot)com / Skype: gray-hemp / ICQ: 29353802


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
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'а в операционной системе :)