Вопрос по восстановлению из резервной копии.

Добрый день.
Делаю резервную копию первой базы и пытаюсь восстановить ее во вторую базу, при восстановлении psql выдает ошибки:

 LANGUAGE c IMMUTABLE STRICT
AS '$libdir/mchar', 'mchar_case_ne';
ERROR: syntax error at or near "0"

Копию базы делаю с помощью pg_dump:
pg_dump.exe -h localhost -p 5432 -U user1 -F c -v -b -f filename db

далее в pgAdminIII создаю новую базу с tablespace pg_default (если она существовала ранее то предварительно ее удаляю)

потом восстанавливаю с помощью psql
psql.exe -U user1 db2 < filename
и получаю массу ошибок

 LANGUAGE c IMMUTABLE STRICT
AS '$libdir/mchar', 'mchar_case_ne';
ERROR: syntax error at or near "0"

Postgres 9.0.3-3, windows server 2008

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Очевидно, что в новую базу не

Очевидно, что в новую базу не прогружено расширение mchar, поэтому и получаете ошибки.

как его подгрузить?

как его подгрузить?

А хрен его знает как оно у вас там

Мне кажется много проще будет вам сделать БД с шаблоном той, из которой вы делали дамп.
Почитайте CREATE DATABASE WITH TEMPLATE
http://postgresql.ru.net/manual/sql-createdatabase.html
тогда в новую БД попадут все расширения, загруженные в старую

Так не очень получается. Если

Так не очень получается. Если исходная БД используется то при попытке использования ее в качестве шаблона возникает ошибка что база данных используется и новую БД создать не получается.

Мне нужно получить нормальный механизм создания копии работающей БД, при этом работающая БД естественно не должна останавливаться.

А долго разбираться с mvchar ?

Один раз-то можно остановить

Один раз-то можно остановить или нет?
Вам нужно один раз сделать БД, потом можете её же использовать в качестве шаблона, не трогая основную.

> А долго разбираться с mvchar ?
Я не знаю, ни пути ваши, ни точного названия либы. По идее это вы всё должны знать.

Кстати только что пришло в голову: а БД из которой вы делаете копию и БД, в которую её загружаете случайно не на разных серверах PostgreSQL? Если да, то может у вас банально второй сервер установлен без поддержки mvchar?

Нет БД расположены на одном

Нет БД расположены на одном сервере,
и в одном tablespace.
Postgres 9.0.3-3 (Windows)

Остановить базу конечно можно, но хотелось бы решить вопрос нормально, чтобы потом не было таких косяков.

А может всё проще?Попробуйте

А может всё проще?
Попробуйте CREATE DATABASE ... WITH TEMPLATE=template0
Если template0 не сработает template1. Возможно, что всё и получится.
Только выполняйте эти команды в psql, а не в pgAdmin, ибо веры последнему нету ни на грош - были уже преценденты

И ещё, покопался в Инете. Пишут, что при ошибках с mvchar нужно создавать базу непосредственно из 1C. Если есть такая возможность - сделайте именно так!

ок. сегодня не успеваю,

ок. сегодня не успеваю, завтра планирую весь день на этим заниматься. Нужно переходить на postgres.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023