|
|
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Пытаемся средствами через dump создать архив базы 1С-8, но вываливается ошибка: Код: plaintext 1. 2. 3. Код: plaintext 1. Что можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 16:04:25 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
архив (сжатый) около 3 гигов? сколько же тогда 'весит' база? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 20:45:07 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
попробовал на рабочих базах - никаких проблем с дампом (но они у меня пока небольшие). сделал тестовую базу на 3 гига (притом с одной таблицей на 2 гига) - сдампилась нормально, размер бэкапа менее 500Мб. "поедания" памяти в процессе обнаружено не было. приведите конфиг постгреса, может быть там что интересное есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 21:02:02 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Архив не сжатый, pg_dump не дает делать сжатые - говорит что не поддерживается компрессия, видать из-за того, что сборка PG-SQL от фирмы 1С. Сама база не превышает пять гигов, судя по размерам каталога PGDATA, но выгрузка pg_dump-ом затыкается на трех с небольшим гигах. Средствами 1С выгрузить базу тоже не удается. В лог PGSQL вываливается следующее: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 21:32:32 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
погуглил - вполне вероятно повреждение базы. начать стоит с того, чтобы остановить postgres, сделать простую копию каталога с данными (на тот случай, если дальнейшие попытки совсем обрушат базу). далее можно попробовать сделать vacuum full, reindex database. вдруг поможет ;) можно попробовать сделать частичный бэкап - найти то место, на котором "обламывается" dump и забэкапить всё, кроме него. ну и искать источник проблем. как минимум - запустить (не менее, чем на сутки) тест памяти. погонять туда-суда по дискам большие файлы, а потом сверить md5. если по железу ничего не находится - отписаться в соответсвующей рассылке, скорее всего разработчики обратят внимание и примут участие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 23:14:16 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Нет, база похоже не повреждена. Выгрузка затыкается постоянно на одной и той-же таблице, в этой таблице 1С хранит вложения файлов ко всяким документам. Сама база еще похоже рабочая, в нее можно зайти, потестировать, переиндексировать. Вот конфиг pgsql, он почти дефолтный, что-то там давно менялось но что именно - не помню. Памяти на сервере 2Гб всего, память в порядке, тестировалась, система Вин-2003SP2-R, версия PG-SQL 8.2.6: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 23:37:21 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
я не знаю, в каких единицах измеряется work_mem :) скорее всего это килобайты, получается уже гигабайт, ИМХО перебор. может быть стоит явно написать: shared_buffers =512MB work_mem = 64MB maintenance_work_mem = 256MB ps: если на сервере больше ничего не крутится - я бы ещё поднял effective_cache_size до 1024MB. хотя к исходному сообщению это отношения не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2008, 00:43:42 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Сегодня попробовал выгрузить дамп на машину с линуксом - но с тем же успехом, дамп обломился. Попробовал выгрузить через EMS SQL Manager for PostgreSQL - там можно типа экспортнуть таблицу кусками по одной записи - но тоже случился облом. В итоге - после очистки злополучной таблицы, содержащей бинарные объекты - дамп пошел. Интересно - какие тогда ограничения у PG-SQL на размеры данных, хранящихся в таблицах? И почему тогда получается, что сохранить в PG-SQL крупные блобы можно, но вот сдампить их для архива - не выйдет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2008, 20:04:14 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
а какого размера были те самые бинарные объёкты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2008, 20:27:06 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
eddieа какого размера были те самые бинарные объёкты? Размеры разные, в этой табличке хранятся прицепленные к документам файлы, среди них были и объемом более ста мегабайт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2008, 22:22:07 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
ещё раз, повторю eddie : Вы work_mem уменьшили ? Вы знаете что это такое ? это сколько памяти можно использовать в запросе. причём work_mem при выполнение _одного_ запроса, в зависимости от запроса, может быть использовано целиком несколько раз. у Вас work_mem - один гигабайт, дамп осуществляется обычными sql командами, которые естественно могут использовать work_mem. авторкакие тогда ограничения у PG-SQL на размеры данных, хранящихся в таблицах?это написано в документации, http://www.postgresql.org/docs/faqs.FAQ.html#item4.4 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. авторИ почему тогда получается, что сохранить в PG-SQL крупные блобы можно, но вот сдампить их для архива - не выйдет?потому что Вы некорректно настроили сервер - разрешили ему сожрать всё виртуальное адресное пространство процесса, и даже больше. любую базу можно сдампить если она не повреждена. -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 08:56:48 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
ЁшВы work_mem уменьшили ? Я специально увеличил ворк-мем в надежде, что дамп таки выгрузится. На компе кроме PG-SQL ничего нету, и кроме как pg-dump никто к серверу не обращается. Потом добавил еще пару планок мозгов - в итоге их стало в общем зачете три гига с копейками - но и это не помогло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 09:27:35 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
если хотите - можете посчитать, приблизительно: 32-х битный виндовс по умолчанию обычно выделяет 2 гигабайта под пользовательское адресное пространство в процессе. у Вас следующие настойки: Код: plaintext 1. добавьте ещё сюда размер страниц под выполняемый код + данные (.exe .dll) + стек - пусть будет 100 мегабайт итого ~ 1,8 гигабайта (если work_mem заполнится целиком только один раз, что совершенно не обязательно). у Вас осталось в запасе - 200 мегабайт. ещё раз выделить work_mem УЖЕ невозможно. то есть с текущими настройками Вам нужно сидеть и молиться что бы work_mem заполнялся целиком только максимум один раз на запрос, что совсем не обязательно. :) А если вспомнить что адреса выделяются не по порядку, с нуля, а несколько "хаотично", например под .exe обычно выделяется адрес начиная с 0x00400000. а .dll отображается в адресное пространство не обязательно сразу после .exe или до. получается фрагментация адресного пространства которая "сожрёт" и гораздо больше тех оставшихся 200-т мегабайт просто под "дырки" между выделенными адресами. и выделить тот гигабайт work_mem одним куском - не получается... всё тоже самое относится и к maintenance_work_mem, только она используется при восстановлении дампа (индексы, vacuum) -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 09:50:25 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
ImNeedHelpЯ специально увеличил ворк-мем в надежде, что дамп таки выгрузится.Вам надо не увеличивать, а уменьшать. Оно у Вас и так не влезает в два гигабайта. ImNeedHelpНа компе кроме PG-SQL ничего нету, и кроме как pg-dump никто к серверу не обращается.это не имеет значения, если физической памяти не хватит - будет использован свап файл. ImNeedHelpПотом добавил еще пару планок мозгов - в итоге их стало в общем зачете три гига с копейками - но и это не помогло.это не имеет значения. виндовс выделяет 2 гигабайта под страницы пользователя. Вы можете поставить хоть 8 планок физической памяти по гигабайту, это не изменит лимит в два гигабайта под страницы пользователя на процесс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 09:55:28 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Прописал как советовали: Код: plaintext 1. 2. Как же все-таки вытащить дамп без очистки этой большой таблицы? Может - какой-то фикс запустить или проверку? Есть какая-нибудь утилита? Запускал pg-resetxlog.exe - но это очевидно из другой оперы и не помогает. Ваккумизация с полным анализом - тоже не помогает. Что можно сделать еще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 12:37:16 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
сервер перезапускали после изменения конфигурации ? если да - попробуйте вообще закоментировать work_mem и maintenance_work_mem, что бы значения по умолчанию остались. авторМожет - какой-то фикс запустить или проверку? Есть какая-нибудь утилита?есть, если у Вас select * from problem_table и vacum full analyze работают без сообщений об ошибках (смотреть в логах) - значит скорее всего у Вас всё в порядке. авторЗапускал pg-resetxlog.exe - но это очевидно из другой оперы и не помогает. о боже, это ещё зачем !? всю базу разнесли, или что-то осталось ? :) если ничего не помогает - обращайтесь в 1С - пусть они разбираются что они там напатчили и почему _у них_ дамп не работает. -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 14:12:21 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Ёшсервер перезапускали после изменения конфигурации ? Канечно - PG-SQL на лету эти опции не прочитывает и не изменяет. Ёшпопробуйте вообще закоментировать work_mem и maintenance_work_mem, что бы значения по умолчанию остались. Пробовал - тот же результат. Ёш если у Вас select * from problem_table и vacum full analyze работают без сообщений об ошибках (смотреть в логах) - значит скорее всего у Вас всё в порядке. select * from problem_table выдает клиенту out of memory for query result Ёш о боже, это ещё зачем !? всю базу разнесли, или что-то осталось ? Да пофиг - я все равно не рабочую базу терзаю, скопировал каталог PGDATA на другой комп - и там уже душу. Ёш обращайтесь в 1С - пусть они разбираются что они там напатчили и почему _у них_ дамп не работает. Несмотря на то, что 1С официальна куплена - обращатся за помощью в их супорт считаю бессмысленной тратой времени, они начнут лепить отмазы типа: у вас версия не самая последняя, доставайте базу из архива и т.п. - в общем - разведут гнилые базары на целый месяц, а реальной помощи не будет - это мы уже проходили. А если посмотреть на то, что через какой анус у них организована работа с SQL - уже станет плохо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 18:21:24 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
киньте структуру "больной" таблицы, попробую повторить у себя что-то типа pg_dump -s -t bad_table bad_db ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 18:37:18 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
авторselect * from problem_table выдает клиенту out of memory for query resultвот этого по идеи не должно быть... хм... -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 21:26:40 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Вот структура: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 21:28:39 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
скажите ещё пожалуйста, какое-то конкретное поле содержит большие блобы или оно размазано по всем полям bytea ? -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 21:35:29 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Возьмите конфиг по умолчанию постгреса используемой вами версии, перезагрузитесь и запустите дамп. Если снова не получится, перезагрузитесь и дампайте сначала все таблицы, кроме проблемной, а потом отдельно проблемную таблицу. О результатах отпишитесь. P.S. Перезагружаться под виндой обязательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 21:49:47 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 21:50:23 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
MBGВозьмите конфиг по умолчанию постгреса используемой вами версии, перезагрузитесь и запустите дамп. Если снова не получится, перезагрузитесь и дампайте сначала все таблицы, кроме проблемной, а потом отдельно проблемную таблицу. О результатах отпишитесь. P.S. Перезагружаться под виндой обязательно.мне кажется бессмыслено мучить pg_dump если простой select * from problem_table выдает клиенту out of memory for query result... надо имхо сначала разобраться с этим. очень похоже на ошибку или повреждение базы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 21:54:20 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
похожий баг: http://archives.postgresql.org/pgsql-bugs/2006-11/msg00071.php ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 22:25:23 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
MBG Возьмите конфиг по умолчанию постгреса... P.S. Перезагружаться под виндой обязательно. Уже делал. По умолчанию и с перезагрузкой. Такой-же фигвам... MBG дампайте сначала все таблицы, кроме проблемной, а потом отдельно проблемную таблицу Какой смысл? И так понятно что не сдампится именно эта таблица. Ведь когда ее очищаешь - то все нормально. Но очищать - низзя, там нужные объекты. eddieпохожий баг: http://archives.postgresql.org/pgsql-bugs/2006-11/msg00071.php Не, не похожий. Там все нормально:[quote]But if try pg_dump --encoding=UTF8 -U postgres docs > docs.sql ALL OK![/quote] Вот ооочень похожий: http://forum.ru-board.com/topic.cgi?forum=8&topic=28245 P.S. Завтра попробую сделать предложенную выборку - сейчас уже нет возможности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 23:05:40 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
ImNeedHelpselect * from problem_table выдает клиенту out of memory for query resultсообщение "out of memory for query result" нашел в исходниках libpq. то есть оперативки не хватает клиенту, а не серверу. попробуйте сдампировать данные не через pg_dump, а самостоятельно с использованием курсоров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 12:24:35 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
поэкспериментировал с bytea и таки добился out of memory :) Код: plaintext 1. 2. 3. 1,5 Гб памяти + 2 Гб свап. при дампе 136 314 880 байтного bytea ~ два гигабайта съел сервер + ~ столько же - клиент и банально кончилась память. после увеличения свапа на два гигабайта - всё сдампилось успешно: Код: plaintext 1. 2. 3. 4. 5. ImNeedHelp , маловероятно, но может быть у Вас со свап файлом проблема ? ps: как я ни старался - залить в поле столько, что потом нельзя было сдампить, не получается. insert/copy/update - все отменяются с out of memory, правда у меня стандартный 8.3 без 1С -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 14:54:54 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Ёшпоэкспериментировал с bytea и таки добился out of memory :) Код: plaintext 1. 2. 3. 1,5 Гб памяти + 2 Гб свап. при дампе 136 314 880 байтного bytea ~ два гигабайта съел сервер + ~ столько же - клиент и банально кончилась память. после увеличения свапа на два гигабайта - всё сдампилось успешно: Хорошая иллюстрация к часто задаваемому вопросу о разумности хранения файлов в БД. Честно говоря, даже в голову не приходило, что оверхед может быть настолько огромным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 17:45:57 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
MBGХорошая иллюстрация к часто задаваемому вопросу о разумности хранения файлов в БД. Честно говоря, даже в голову не приходило, что оверхед может быть настолько огромным.бывает и хуже, имхо :) вообще - да, он большой, так как при обработке bytea бинарные данные сериализуются через их строковое представление типа: E'\\000' - это например байт со значением ноль. то есть на один байт при сериализации в строку выделяется '\' '\' '0' '0' '0' - пять символов (байтов). получается в пять раз больше. я честно говоря раньше думал что парсер запроса может обрабатывать входные строки по кусочкам, но судя по результатам экспериментов - получается что это не так. чудес не бывает :) и обновить кусок одного поля потом другого, потом вернуться опять к первому или начать выполнение до того как получена вся строка запроса от клиента - вряд ли возможно (можно конечно сделать такой сервер, что он будет писать входной запрос во временный файл, если он превышает определённый порог, но имхо это уже специфический изврат - текст запроса больше двух гигабайт :) ). судя по размеру потраченной памяти - он пытается собрать строку сразу целиком за один раз, а так как ограничение на размер одного поля - 1 Гб (Maximum size for a field? 1 GB), видимо один гигабайт максимум он и может выделить на обработку одной строки (одного параметра запроса). получается что приблизительный максимальный размер bytea бинарных данных = 1 Гб / 5 ~ 200 Мб. Но тут есть неясности... во первых - не все байты обязательно паковать в пять байт их кода, те байты, значение которых совпадает с кодом ASCII символа, который можно вывести на экран - паковать не обязательно. Получается что можно передать и больше 200 мегабайт, хотя в общем случае - это зависит от содержимого (печатных символов в кодировке ASCII ~ 96 штук (из 255) ) но, например, залить avi файл размером 167 мегабайт в виде bytea мне не удалось... 2008-11-27 00:48:47 MSK ERROR: не хватает памяти 2008-11-27 00:48:47 MSK ПОДРОБНОСТИ: Ошибка при запросе размера 1073741823. 2008-11-27 00:48:47 MSK КОНТЕКСТ: COPY _reference59, строка 1: "1 1 true true 1 \N \N \N \N \N \N RIFFj\\367\\370\\011AVI LIST~"\\000\\000hdrlavih8\\000\\000\\000@\..." 2008-11-27 00:48:47 MSK КОМАНДА: COPY big._reference59 FROM STDIN я экспериментировал с файлом размером 136 314 880 байт, заполненным случайными байтами с равномерным распределением по всему множеству значений, его текстовое представление в bytea занимало 483 470 156 символов (байт) - это с учётом печатных символов ASCII, если кодировать каждый байт (и печатный тоже), то он занимал бы соответственно 681 574 400 байт этот файл успешно заливался через COPY TO в базу, я сделал шесть строк с ним + седьмая где это файл присутствовал в двух полях bytea: Код: plaintext 1. 2. 3. 4. 5. вообще, у меня хранятся файлы в рабочей базе, но в виде LO (Large Objects которые). у них есть кардинальные преимущества перед bytea: - их не обязательно сериализовать в строку и по умолчанию насколько я понимаю это и не делается при передаче между клиентом и сервером, то есть никакого "в пять раз больше" - с LO не обязательно работать целиком, как с одним значением. его можно читать кусочками как файл - даже если очень хочется - его нельзя вставить в таблицу по значению, только как ID (ссылка на системную таблицу pg_largeobject), соответственно он не будет мешать обычным insert/select/update/delete - его максимальный размер - 2 Гб - он хранится разбитый на кусочки (по 131072 байта если не ошибаюь), таким образом при резервном копировании и восстановлении он не порождает никаких особогигантских многомегабайтных строк да и сами файлы у меня небольшие - это отчёты в pdf максимум килобайт на 500 ps: но это всё лирика :) она не отвечает на вопрос автора топика - как так получилось что у него _в базе_ оказался bytea для обработки которого не хватает памяти. и что ему с этим делать... у меня пока не получается повторить эту проблему, но в принципе есть одна идея, может быть попробую попозже. pps: кстати, можно ли быть уверенным что если в логах нет ругани на vacuum full и select, то таблица не повреждена ? может быть это всё же просто банально битая таблица ? %) -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 10:50:39 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Ёшps: но это всё лирика :) она не отвечает на вопрос автора топика - как так получилось что у него _в базе_ оказался bytea для обработки которого не хватает памяти. и что ему с этим делать... у меня пока не получается повторить эту проблему, но в принципе есть одна идея, может быть попробую попозже.попробуйте сделать выборку с другой машинки, на которой мало [доступной] памяти, чтобы не хватило памяти не серверу, а клиенту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 11:12:13 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
LeXa NalBatЁшps: но это всё лирика :) она не отвечает на вопрос автора топика - как так получилось что у него _в базе_ оказался bytea для обработки которого не хватает памяти. и что ему с этим делать... у меня пока не получается повторить эту проблему, но в принципе есть одна идея, может быть попробую попозже.попробуйте сделать выборку с другой машинки, на которой мало [доступной] памяти, чтобы не хватило памяти не серверу, а клиенту. да как вариант - не сможет сделать дамп, но автор делает дамп насколько я понял на той же машине где и сервер. и памяти там по идеи хватает. авторСегодня попробовал выгрузить дамп на машину с линуксом - но с тем же успехом, дамп обломился. . . . На компе кроме PG-SQL ничего нету, и кроме как pg-dump никто к серверу не обращается. Потом добавил еще пару планок мозгов - в итоге их стало в общем зачете три гига с копейками - но и это не помогло.3 Гб + ещё свап виндовый (он пока не ответил какого размера свап) + он пробовал и на другую машину делать дамп (правда не написал сколько там памяти) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 11:34:09 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Ёшда как вариант - не сможет сделать дамп, но автор делает дамп насколько я понял на той же машине где и сервер. и памяти там по идеи хватает.может почти вся память отдана серверу постгреса, клиенту остается недостаточно. я подумал, что вы именно из-за этого советовали уменьшить work_mem. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 11:38:26 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
LeXa NalBatможет почти вся память отдана серверу постгреса, клиенту остается недостаточно.может быть. надо ждать его ответа про свап :) LeXa NalBatя подумал, что вы именно из-за этого советовали уменьшить work_mem.не совсем, work_mem у него был катастрофически большой - 1 Гб. если он весь используется да ещё + shared_buffers 700 Мб, то в адресном пространстве сервера просто не останется места под строку bytea. Всего в windows процесс может выделить ~ 2 Гб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 11:52:00 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Ёшможет быть. надо ждать его ответа про свап Своп виндовый автоматический, на винте места до дури - свап может расти еще далеко. [quot Ёш] Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Удается, вот результат: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 23:09:04 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
ImNeedHelp eddieпохожий баг: http://archives.postgresql.org/pgsql-bugs/2006-11/msg00071.php Не, не похожий. Там все нормально:But if try pg_dump --encoding=UTF8 -U postgres docs > docs.sql ALL OK! как раз таки похожий. I have a database with table "documents", that have column type " bytea ". Database size is ~1.5 GB (99% of objects is images, documents, pdf's in bytea fields, middle size of each object ~ 20Mb ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 23:23:07 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Скопировал PGData на юниховую машину и попробовал натравить на проблемную таблицу перловую утилиту pgfsck Она выдала много таких строк: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 23:25:40 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
eddieкак раз таки похожий. Хм... Счаз попробовал сделать дамп с --encoding=UTF8 - дамп прошел нормально! Выгрузилось четыре с лишним гига, в логах постгря - никаких ошибок out of memory ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2008, 00:07:19 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
ImNeedHelpСкопировал PGData на юниховую машину и попробовал натравить на проблемную таблицу перловую утилиту pgfsck Она выдала много таких строк: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2008, 05:24:48 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
ImNeedHelpeddieкак раз таки похожий. Хм... Счаз попробовал сделать дамп с --encoding=UTF8 - дамп прошел нормально! Выгрузилось четыре с лишним гига, в логах постгря - никаких ошибок out of memory !значит это была просто ошибка :) надо Вам видимо обновляться до 8.2.11, в 8.2.8 была исправлена ошибка: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2008, 05:35:05 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Ёша Вы останавливали сервер перед копированием ? Странный вопрос, конечно останавливал - иначе даже скопировать не получится - файлы блокируются постгрей. Ёшзначит это была просто ошибка :) Да вааще непонятно - что это такое. Попробовал сделать дамп как и раньше без --encoding=UTF8 - дамп прошел нормально - и судя по файлам - он ничем не отличается от дампа с --encoding=UTF8 Ёшнадо Вам видимо обновляться до 8.2.11 Сие невозможно, так как постгря патченный фирмой 1С, есть только 8.2.6 и далее уже 8.3.х Видать придется на 8.3 ставить, так как выгрузка базы средствами 1С все равно не проходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2008, 10:38:56 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
читалась ветка взалеб, как детективный роман, думалось .. вот она, разгадка, близко ... .. а оказалось ни причины ни следствия, все работает или само(???) вдруг заработало... грустно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2008, 01:15:22 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
ImNeedHelpкак выгрузка базы средствами 1С все равно не проходит. а вот это проблема некоторых релизов 1С 8.1. у нас 8.1.11.67 - в нем таких проблем уже нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2008, 00:08:35 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
3.5 года прошло, а воз и ныне там.. у меня таже самая ситуация: постгря 8.3.8 на центосе (всё 32бит) стоит и при попытке стандартного дампа выдаёт: авторpg_dump: SQL command failed pg_dump: Error message from server: ERROR: не хватает памяти DETAIL: Ошибка при запросе размера 1073741823. pg_dump: The command was: COPY public.config (filename, creation, modified, attributes, datasize, binarydata) TO stdout; увеличение свопа до 50гб ничего не дало файл дампа обрубается на 2117мб, т.е. ~2ГБ vacuum full ничего не показывает select * from public.config; - ошибок не выдает ( там кстати почему-то пустая таблица .. по-крайней мере в начале только оглавления столбцов и никаких данных.. но я так понимаю, - если начало пустое, значит и вся таблица пустая?) вариант ставить 64 бита не вариант, потому что из-за каких-то кривых конфигов, написанных самих же 1с, отдавать 50к им же, и за работу ещё столько же и гемор потом лечить всю жизнь - не айс ни разу остаётся вариант только править сам конфиг.. какие ещё варианты? работало кстати всё ок, пока там чё-то обновлять не начали в конфиге. поставили новый походу и понеслась.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2012, 10:24:39 |
|
||
|
Не выполняется дамп
|
|||
|---|---|---|---|
|
#18+
Если это ещё кому-то интересно. Проблема, скорее всего в ограничении размера транзакции (1ГБ). Возможное решение - делать дамп с ключиком --inserts: Код: plaintext Должно работать, но надо пробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2014, 17:00:16 |
|
||
|
|

start [/forum/topic.php?all=1&fid=53&tid=1998281]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
190ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
79ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 543ms |

| 0 / 0 |
