Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ошибка после Restore / 17 сообщений из 17, страница 1 из 1
08.07.2008, 12:30
    #35417256
Ekklesiast
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
выползает ошибка после Restore, но база работает, в чём проблема?
при бэкапе и ресторе настройки были по умолчанию

авторF:\PosrgreSQL\bin\pg_restore.exe -i -h localhost -p 5432 -U postgres -d "HBP-ZIP(test-demo)" -v "F:\Backup_1Cv8.1\PosrgreSQL\HBP-ZIP(test-demo).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 1854; 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;
...
Рейтинг: 0 / 0
08.07.2008, 13:09
    #35417433
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
pg_restore

Читаем NOTES в разделе
...
Рейтинг: 0 / 0
09.07.2008, 09:09
    #35419236
Ekklesiast
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
landy pg_restore

Читаем NOTES в разделе

Отмечает

Если ваша установка имеет любые местные дополнения к template1 базе данных, будьте осторожные, чтобы загрузить продукцию pg_restore в по настоящему пустой базе данных; иначе вы, вероятно, получаете ошибки благодаря двойным определениям дополнительных объектов. Чтобы сделать пустую базу данных без любых местных дополнений, копируют от template0 не template1, например:

СОЗДАЙТЕ БАЗА данных foo С ШАБЛОН template0;

Ниже ограничений pg_restore детализировано.
* Восстанавливая данные к существующему столу и выбору --disable-triggers используется, pg_restore испускает команды, чтобы блокировать триггеры на пользовательских столах перед вставкой данных затем испускает команды к re-enable их после данных был вставлен. Если восстановление останавливается посередине, системные каталоги, возможно, были бы левыми в неотделанном государстве.

* pg_restore не восстановит большие объекты для единственного стола. Если архив содержит большие объекты, то все большие объекты будут восстановимы.

Посмотрите также pg_dump документацию для более конкретной информации об ограничениях pg_dump.
Однажды восстанавливают, мудро бежать АНАЛИЗИРУЮТ на каждом восстановимом столе, так что оптимизатор имеет полезную статистику.



не хрена не понял
...
Рейтинг: 0 / 0
09.07.2008, 09:50
    #35419312
Сергей Фролов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
Ekklesiastне хрена не понял
Такая же фигня (((
...
Рейтинг: 0 / 0
09.07.2008, 10:55
    #35419589
Ёш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
EkklesiastЕсли ваша установка имеет любые местные дополнения к template1 базе данных, будьте осторожные, чтобы загрузить продукцию pg_restore в по настоящему пустой базе данных; иначе вы, вероятно, получаете ошибки благодаря двойным определениям дополнительных объектов. Чтобы сделать пустую базу данных без любых местных дополнений, копируют от template0 не template1, например:

CREATE DATABASE foo WITH TEMPLATE template0;в постгресе есть служебные базы с названием template0 и template1 - это шаблоны для новых баз данных, template0 - шаблон для template1 и template0 не изменяется, template1 - для всех новых баз пользователей и его можно изменить.

когда Вы создаёте новую базу данных, она просто копируется из template1. если Вам нужно чтобы например во всех новых базах был язык plpgsql Вы просто добавляете этот язык в шаблон баз (в базу template1) и все созданные после этого новые базы будут с этим языком (так как они копируются из шаблона).

бэкап же баз делается "относительно template0" и если Вы изменили свой шаблон новых баз пользователей (template1) может получиться дублирование создания одних и тех же объектов (например того же самого языка plpgsql). когда он сначала создаётся из шаблона новых баз (template1) и второй раз - из резервной копии. что бы этого не происходило - советуют перед восстановлением резервной копии создавать базу не по умолчанию (из шаблона template1), а указывая вручную шаблон новой базы template0
...
Рейтинг: 0 / 0
09.07.2008, 11:19
    #35419704
Ekklesiast
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
Ёш EkklesiastЕсли ваша установка имеет любые местные дополнения к template1 базе данных, будьте осторожные, чтобы загрузить продукцию pg_restore в по настоящему пустой базе данных; иначе вы, вероятно, получаете ошибки благодаря двойным определениям дополнительных объектов. Чтобы сделать пустую базу данных без любых местных дополнений, копируют от template0 не template1, например:

CREATE DATABASE foo WITH TEMPLATE template0;в постгресе есть служебные базы с названием template0 и template1 - это шаблоны для новых баз данных, template0 - шаблон для template1 и template0 не изменяется, template1 - для всех новых баз пользователей и его можно изменить.

когда Вы создаёте новую базу данных, она просто копируется из template1. если Вам нужно чтобы например во всех новых базах был язык plpgsql Вы просто добавляете этот язык в шаблон баз (в базу template1) и все созданные после этого новые базы будут с этим языком (так как они копируются из шаблона).

бэкап же баз делается "относительно template0" и если Вы изменили свой шаблон новых баз пользователей (template1) может получиться дублирование создания одних и тех же объектов (например того же самого языка plpgsql). когда он сначала создаётся из шаблона новых баз (template1) и второй раз - из резервной копии. что бы этого не происходило - советуют перед восстановлением резервной копии создавать базу не по умолчанию (из шаблона template1), а указывая вручную шаблон новой базы template0

1. Я как понял, что это реализовать стандартными кнопками Backup и Restore не получится?
2. Если нет, то чё и куда прописывать
...
Рейтинг: 0 / 0
09.07.2008, 13:58
    #35420345
Ёш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
Ekklesiast1. Я как понял, что это реализовать стандартными кнопками Backup и Restore не получится?
2. Если нет, то чё и куда прописыватьВы сейчас о чём говорите ? Где Вы нашли кнопки в СУБД ?

прописывать не нужно, нужно прочитать и понять :) Вам нужно удалить базу, создать её из шаблона template0 и тогда Ваша резервная копия должна залиться без сообщений об уже существующих в базе объектах.
...
Рейтинг: 0 / 0
10.07.2008, 06:22
    #35421942
Ekklesiast
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
Ёш Ekklesiast1. Я как понял, что это реализовать стандартными кнопками Backup и Restore не получится?
2. Если нет, то чё и куда прописыватьВы сейчас о чём говорите ? Где Вы нашли кнопки в СУБД ?

прописывать не нужно, нужно прочитать и понять :) Вам нужно удалить базу, создать её из шаблона template0 и тогда Ваша резервная копия должна залиться без сообщений об уже существующих в базе объектах.

а чё разе Backup и Restore в pgAdmin III нету? ))))))))))))))))))
...
Рейтинг: 0 / 0
10.07.2008, 06:23
    #35421943
Ekklesiast
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
Ёш Ekklesiast1. Я как понял, что это реализовать стандартными кнопками Backup и Restore не получится?
2. Если нет, то чё и куда прописыватьВы сейчас о чём говорите ? Где Вы нашли кнопки в СУБД ?

прописывать не нужно, нужно прочитать и понять :) Вам нужно удалить базу, создать её из шаблона template0 и тогда Ваша резервная копия должна залиться без сообщений об уже существующих в базе объектах.

удаляю перед Restore, но как создать её из шаблона template0?????????
...
Рейтинг: 0 / 0
10.07.2008, 10:56
    #35422362
Ёш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
Ekklesiastудаляю перед Restore, но как создать её из шаблона template0?????????вон же выше написано:
Код: plaintext
CREATE DATABASE foo WITH TEMPLATE template0;
foo замените на название Вашей базы
...
Рейтинг: 0 / 0
11.07.2008, 06:26
    #35424388
Ekklesiast
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
Ёш Ekklesiastудаляю перед Restore, но как создать её из шаблона template0?????????вон же выше написано:
Код: plaintext
CREATE DATABASE foo WITH TEMPLATE template0;
foo замените на название Вашей базы


Объясните глупому проггеру как это реализовать, если я Restore и Backup делаю через pgAdmin III иначе незнаю как.
...
Рейтинг: 0 / 0
11.07.2008, 10:00
    #35424603
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
Для тупых - запускаете командное окно и ручками набираете вышеуказанную команду
По жизни GUI реализации утилит командной строки как правило отстают по функциональности от последних
...
Рейтинг: 0 / 0
11.07.2008, 11:01
    #35424808
Ekklesiast
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
landyДля тупых - запускаете командное окно и ручками набираете вышеуказанную команду
По жизни GUI реализации утилит командной строки как правило отстают по функциональности от последних

ппц, а спокойно не льзя объяснять, не все же такие умники и перцы
...
Рейтинг: 0 / 0
11.07.2008, 11:08
    #35424835
Ekklesiast
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
landyДля тупых - запускаете командное окно и ручками набираете вышеуказанную команду
По жизни GUI реализации утилит командной строки как правило отстают по функциональности от последних

и чё перец???

следовал твоей инструкцией открыл "Command Prompt", открывал и "psql to 'postgres'" набирал выше указанную команду CREATE DATABASE foo WITH TEMPLATE template0; при этом указав где "foo замените на название Вашей базы", и не хрена, ппц
...
Рейтинг: 0 / 0
11.07.2008, 12:02
    #35425104
Ёш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
Ekklesiastследовал твоей инструкцией открыл "Command Prompt", открывал и "psql to 'postgres'" набирал выше указанную команду CREATE DATABASE foo WITH TEMPLATE template0; при этом указав где "foo замените на название Вашей базы", и не хрена, ппцобычно принято показывать какие именно сообщения об ошибках сопровождают Вашу проблему.

скорее всего у Вас нет прав на создание баз, эту команду нужно выполнять от имени администратора (обычно это пользователь с именем postgres)
...
Рейтинг: 0 / 0
11.07.2008, 13:53
    #35425520
refreg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
Ekklesiast
Объясните глупому проггеру как это реализовать, если я Restore и Backup делаю через pgAdmin III иначе незнаю как.

Способ 1.
В pgAdmin III нажимаешь кнопочку "Выполнить пользователские запросы" (SQL с карандашом) и там написать эту волшебную строчку.

Способ 2.
Правой кнопкой по базе -> "Новая база данных" -> в шаблоне выбираем "template0"

Способ 3.
Ekklesiast
открывал и "psql to 'postgres'" набирал выше указанную команду CREATE DATABASE foo WITH TEMPLATE template0;

Все верно. Просто какая-то ошибка. Какая? Могу предположить что либо база уже существует. либо синтаксическая.
...
Рейтинг: 0 / 0
14.07.2008, 07:19
    #35427533
Ekklesiast
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка после Restore
refreg огромное спасибо, за более подробное-детализированное объяснение, при след. алгоритме

1.Backup base
2.Delete base
3.Create base (в шаблоне "template0)
4.Restore


Ошибок нет!
Ещё раз спасибо
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ошибка после Restore / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]