powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ошибка после Restore
17 сообщений из 17, страница 1 из 1
ошибка после Restore
    #35417256
Ekklesiast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выползает ошибка после 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
ошибка после Restore
    #35417433
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pg_restore

Читаем NOTES в разделе
...
Рейтинг: 0 / 0
ошибка после Restore
    #35419236
Ekklesiast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
ошибка после Restore
    #35419312
Сергей Фролов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ekklesiastне хрена не понял
Такая же фигня (((
...
Рейтинг: 0 / 0
ошибка после Restore
    #35419589
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
ошибка после Restore
    #35419704
Ekklesiast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёш 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
ошибка после Restore
    #35420345
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ekklesiast1. Я как понял, что это реализовать стандартными кнопками Backup и Restore не получится?
2. Если нет, то чё и куда прописыватьВы сейчас о чём говорите ? Где Вы нашли кнопки в СУБД ?

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

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

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

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

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


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

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

и чё перец???

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

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

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

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

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

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

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


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


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