#0
by Sergio-ps
Добрый вечер. на Win Server 2003 установлен сервер 1с, PostgreSQL. Делаются резервные копии каждый день. Но столкнулся с проблемой. необходимо восстановить базу на определенное число, а он при восстановлении выдает кучу ошибок на то что таблица существует, метод существует и тд , невозможно перезаписать. и в итоге Процесс вернул код выхода 1. Соответсвенно в пустую базу он ничего не восстанавливает, она остается пустой. пробовал как создавать новую базу из управления серверами 1с, так и средствами postgres.
#1
by Sergio-ps
бэкап делается по команде "C:Program Files (x86)PostgreSQL8.4.3-3.1Cinpg_dump.exe" -i -h localhost -p 5432 -U postgres -Fc -b -f "F:postgres_backup%datetemp%.backup" Base Восстанавливать пробовал из PgAdmin и командой "C:Program Files (x86)PostgreSQL8.4.3-3.1Cinpg_restore.exe" -i -h localhost -U postgres -c -d BuhTemp "F:postgres_backupBUHBUH_120803.backup"
#4
by Sergio-ps
Я пустую базу создаю и в нее пытаюсь восстанавливать, наверно не имеет значения что у нее имя другое?
#5
by ansh15
Не имеет. Попробуйте без флага -с в созданную пустую базу. Сейчас проверял, с флагом -с (-c --clean Clean (drop) database objects before recreating them) выдает ошибки, без него нормально восстанавливает.
#6
by Sergio-ps
хорошо попробую. Вот создал новую базу и в нее восстановил с помощью pgAdmin/ он по умолчанию сделал такой командой: C:Program Files (x86)PostgreSQL8.4.3-3.1Cinpg_restore.exe -i -h localhost -p 5432 -U postgres -d "BuhTemp" -v "F:postgres_backupBUH_120725.backup" В итоге куча ошибок. и база не восстановлена, даже конфигуратор не открывается. ..... pg_restore: connecting to database for restore pg_restore: creating SCHEMA public pg_restore: creating COMMENT SCHEMA public pg_restore: creating PROCEDURAL LANGUAGE plpgsql pg_restore: [archiver (db)] Error while PROCESSING TOC: pg_restore: [archiver (db)] Error from TOC entry 5256; 2612 16386 PROCEDURAL LANGUAGE plpgsql postgres pg_restore: [archiver (db)] could not execute query: ERROR: language "plpgsql" already exists Command was: CREATE PROCEDURAL LANGUAGE plpgsql; pg_restore: creating SHELL TYPE chkpass pg_restore: [archiver (db)] Error from TOC entry 1230; 0 0 SHELL TYPE chkpass postgres pg_restore: [archiver (db)] could not execute query: ERROR: type "chkpass" already exists ........ pg_restore: creating FUNCTION isnge(ean13, upc) pg_restore: [archiver (db)] Error from TOC entry 391; 1255 17237 FUNCTION isnge(ean13, upc) postgres pg_restore: [archiver (db)] could not execute query: ERROR: function "isnge" already exists with same argument types Command was: CREATE FUNCTION isnge(ean13, upc) RETURNS boolean LANGUAGE internal IMMUTABLE STRICT AS $$int8ge$$; ...... pg_restore: setting owner and privileges for INDEX byosname pg_restore: setting owner and privileges for INDEX byrolesid pg_restore: setting owner and privileges for INDEX byshow WARNING: errors ignored on restore: 6866 Процесс вернул код выхода 1.
#8
by Sergio-ps
уже и тем и другим способом пробовал. Все равно не восстанавливает. причем пробовал уже и другой архив брать, тоже самое. может не правильная команда создания копии?
#9
by ansh15
Посомтри содержимое архива, вдруг он текстовый, блокнотом каким-нибудь. Архив, созданный с флагом "-F c" начинается со слова PGDUMP, текстовый начинается со строк -- -- PostgreSQL database dump -- и дальше команды SQL. Можно попробовать явно задать custom формат в pg_restore "-F c". Кстати, у тебя в командной строке "-Fc", без пробела, может в Windows как-то влияет, в Linux без разницы.
#10
by Sergio-ps
Хорошо, попытаюсь посмотреть, уже 5 минут WordPad открывает. Кстати, не могли бы выложить рабочую комбинацию команд архивации и восстановления. на будущее хотя бы поменять. потому как походу ни один архив не восстанавливается.
#11
by Sergio-ps
архив начинается с PGDMP потмо название базы, кодировка и наверное команды. правда все так висит, что даже скопировать оттуда не удается. Кстакти вот например строка 2200 - public - SCHEMA T CREATE SCHEMA public; ?I DROP SCHEMA public; o postgres | false странно как то, получается он сначала создает а потом удаляет?
#12
by Sergio-ps
и интересно что значит строчка postgres | false? там много таких, или User1c | false. что то с пользователями связано
#13
by ansh15
Базу рукам попробуй создать, в командной строке на сервере. creаtedb.exe -U postgres testbuh1, например. Потом pg_restore.exe -U postgres -d testbuh1 имя_архива.
#14
by Sergio-ps
создал пустую базу, почему то опять ругается на существующие элементы. и в самом конце вот что выдал: pg_restore: [archiver (db)] COPY failed: ERROR: out of memory DETAIL: Failed on request of size 536870912. CONTEXT: COPY config, line 9419: "e0666db2-45d6-49b4-a200-061c6ba7 -8696-411f-95a1-ef011fdf8da9 2012-03-28 16:49:37 2012-0..." WARNING: errors ignored on restore: 1130 В итоге база не запускается. конфигуратор открывается но видит пустую конфигурацию
#15
by Sergio-ps
если только попробовать загрузить сначала в базу дтшник старый, а потом попробовать через постгрес восстановить только данные?
#16
by BigHarry
"COPY failed: ERROR: out of memory" - проходили, вылечили только загрузкой дампа в постгри, установленный на линуксе, на виндовый постгря дамп упорно не хотел заливаться, вылезала "out of memory", никакие манипуляции с конфигом не помогали.
#20
by Sergio-ps
pg_restore: [archiver (db)] Error from TOC entry 13847; 0 361139 TABLE DATA config user1c pg_restore: [archiver (db)] COPY failed: ERROR: duplicate key value violates unique constraint "config_pkey" CONTEXT: COPY config, line 1: "d4a1f489-2fba-41f6-ab57-3986f22c7403 2012-03-28 16:50:37 2012-03-28 16:50:37 0 89 {\277{\177\265..." pg_restore: restoring data for table "configsave" pg_restore: restoring data for table "dbschema" pg_restore: restoring data for table "files" pg_restore: [archiver (db)] Error from TOC entry 13850; 0 377251 TABLE DATA files user1c pg_restore: [archiver (db)] COPY failed: ERROR: duplicate key value violates unique constraint "files_pkey" CONTEXT: COPY files, line 1: "c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl 2010-12-30 10:15:16 2012-05-16 12:42:04 0 416 \215\207\0..." pg_restore: restoring data for table "params" pg_restore: [archiver (db)] Error from TOC entry 13849; 0 377204 TABLE DATA params user1c pg_restore: [archiver (db)] COPY failed: ERROR: duplicate key value violates unique constraint "params_pkey" CONTEXT: COPY params, line 1: "locale.inf 2010-12-30 10:15:15 2010-12-30 10:15:15 0 36 \357\273\277{"ru_RU",0,0,"",-1,"","","","..." pg_restore: restoring data for table "v8users" WARNING: errors ignored on restore: 600 Процесс вернул код выхода 1. Это выдает при попытке "восстановить только данные " из pgAdmin в работоспособную бухгалтерию за июль
#22
by BigHarry
Я на виртуалке не стал развертывать, ибо винда и железо было только 32 разрядное, просто на какой-то ближайшей рабочей станции установил линукс и слона. Не знаю, может вам имеет смысл попробовать установить 64-битный постгри и там развернуть архив, если, канечно, есть где-то такая сборка с патчами 1С под винду...
#23
by alxbzm
Я бы посоветовал взять 9-й постгри и попробовать на нем (в том числе и утилиты pg_dump / pg_restore соответствующих версий)... Я тут неоднократно писал про чудеса 8.4.x. У меня сейчас крутится 9.1.2 от 1С - вроде полет нормальный - и с бэкапом, и с восстановлением.
#25
by Sergio-ps
не помогло 9 постгри. Опять куча ошибок и база не открывается. pg_restore: dropping SHELL TYPE ean13 pg_restore: dropping TYPE dblink_pkey_results pg_restore: dropping COMMENT TYPE cube pg_restore: dropping TYPE cube pg_restore: dropping FUNCTION cube_out(cube) pg_restore: [archiver (db)] Error from TOC entry 164; 1255 16855 FUNCTION cube_out(cube) postgres pg_restore: [archiver (db)] could not execute query: ERROR: type "cube" does not exist Command was: DROP FUNCTION public.cube_out(cube); ... pg_restore: setting owner and privileges for INDEX byshow WARNING: errors ignored on restore: 5395 Процесс вернул код выхода 1.
#28
by alxbzm
Не хочу показаться занудой, но вместо анализа дампа я бы сделал следующее: 1) Выгрузил базу в dt через конфигуратор 2) Залил базу на Postgre 9.1.2 из dt через конфигуратор 3) Сделал бы дамп в postgre 9.1.2 4) Попробовал бы залить на тот же 9.1.2 полученный дамп. P.S. У меня для 9.1.2 дампа в командной строке есть приписочка: -b -Z 9 -E UTF-8 - здесь указываю компрессию и кодировку х.з. насколько это принципиально. Да - и восстанавливать я пробовал через pgAdmin 1.14.1 - хотя это тоже не принципиально - можно потом командную строку срисовать из графического интерфейса.
#29
by ansh15
>>Не знаю, может вам имеет смысл попробовать установить 64-битный постгри и там развернуть архив, если, канечно, есть где-то такая сборка с патчами 1С под винду... Есть. На пользовательском сайте 1С.
#30
by Sergio-ps
Выгрузить базу в dt я конечно могу, но бухгалтерам вот приспичило восстановить от 1го августа. че то они там удалили потом нечаянно. поэтому и мучаюсь с этим дампом, т.к. нету других копий за те числа. 64 юитный постгри.. попробую. Кстати заметил, когда восстанавливаю в базу созданную через пгАдмин или Средствами 1с, то вылазиют ошибки про существующие таблицы и тд., а когда создаю базу сreаtedb.exe -U postgres названиебазы, и восстанавливаю pg_restore.exe -U postgres -d названиебазы имя_архива, то потом вываливается out of memory
#34
by ansh15
Когда база создается через консоль администрирования, в ней создаются таблицы, типы данных и т.д. Поэтому при восстановлении и появляются ошибки о существующих таблицах. Попробуй PostgreSQL x64, может поможет с out of memory.
#38
by Sergio-ps
maintenance_work_mem стоит по умолчанию. Текущее значение 16384. наверно в мегабайтах. хотя оперативки всего 8 гигов. попробую поменять на меньшее значение) докачаю - выложу куда нибудь сборку постгреса
#39
by Sergio-ps
<a href="#37" style="text-decoration:none;" class="interlink" rel="#37">37</a> Постгрес 9.1.2: 64битный для винды: [url= x86&x64 для linux: [url=
#44
by ansh15
В зависимости от ваших конфигураций, размера баз и объема памяти сервера. Поищите по форуму, были темы по настройке postgresql.conf. В Интернете тоже много найдется. На сайте Гилева, например.
#48
by Sergio-ps
в продолжение темы про восстановление, на том же сервере есть еще одна база гига на 2 поменьше, бэкапится теми же командами, при восстановлении так же куча ошибок про существующие объекты, возвращает код 1, но в итоге после восстановления она работает. Пока убедил бухгалтеров что нету копии за август, но найду свободный комп и попробую поднять постгрес на линуксе
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Хочу автоматизировать восстановление последовательности
- Восстановление последовательности
- Сохранение и Восстановление настроек!
- Как из обычной базы сделать подчиненный узел распределенной базы?
- УТ: Восстановление НДС "Восстановление НДС" или "Формирование записей книги продаж"
- v7: Восстановление базы SQL
- Восстановление SQL базы из MDF и LDF файлов
- MS SQL 2008 Восстановление из бэкапа. (Восстановление из копии..)
- Восстановление базы файловый базы 1С
В этой группе 1С
- frontol синхросервер
- СКД. Дополнение периода.
- В форму списка справочника добавить столбец с данными из регистра сведений
- Нумерация справочника
- v8: Как отловить нажатие кнопки ОК на форме?
- 1С 8.2 УПП Распределение расходов 25 счета между 20 и 23 счетами
- Можно ли на управляемой форме сделать выпадающее меню
- Регламентное задание ( автоматическая загрузка данных в базу )
- Танцы с бубном вокруг ПриАктивизацииСтроки (серверные вызовы)
- ВПФ счета на оплату клиенту
- Максимум табличной части незаписанного документа
- Выгрузка колонки из табличной части
- Что проще сдать 1С Проф по платформе или по Буху?
- v7: ошибка при формировании табеля смтр внтр+
- РИБ. Как посмотреть по какие объекты зарегистрированы для обмена.
- Индекс находится за границами массива
- Публикация web-сервисов 8.2 на IIS 7.5
- v7: Несколько периодов в запросе
- Смена имен серверов кластера 1С
- Обмен УТ-Розница: не проводится документ Установка цен при обмене