Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как заставить pg_restore вернуть код завершения 0 ? / 5 сообщений из 5, страница 1 из 1
24.10.2017, 15:29
    #39541155
Как заставить pg_restore вернуть код завершения 0 ?
Добрый день.

pg_restore восстанавливает БД, но при востановлении жалуется на т очто plpgsql уже существует.

И соответсвенно выдает код возврата 1 а не 0.


Как сделать чтобы pg_restore проигнорировал эту ошибку и вернул код возврата 0 ?
...
Рейтинг: 0 / 0
25.10.2017, 11:32
    #39541554
jan2ary
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить pg_restore вернуть код завершения 0 ?
Вторая линия жизни,

Заставить можно, завернув pg_restore в свой скрипт и там анализировать код возврата. Если ошибка на plpgsql, то ингорировать и возвращать 0.
Или решать основную проблему. Можно перед восстановлением в новую чистую базу сделать в ней DROP LANGUAGE. Или создавать новую БД из темплейта template0.
...
Рейтинг: 0 / 0
25.10.2017, 12:33
    #39541612
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить pg_restore вернуть код завершения 0 ?
Вторая линия жизниДобрый день.

pg_restore восстанавливает БД, но при востановлении жалуется на т очто plpgsql уже существует.

И соответсвенно выдает код возврата 1 а не 0.


Как сделать чтобы pg_restore проигнорировал эту ошибку и вернул код возврата 0 ?

Я бы для начала разобрался почему эта ошибка возникает.
Так как в нормальной работе ее не возникает.
Я знаю только 1 вариант - вы делали pg_dump на старой версии базы и старым pg_dump а восстанавливаете в новую версию базы и новым pg_dump.

Для начала приведите версии используемых pg_dump/pg_restore и самих баз.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
25.10.2017, 13:05
    #39541661
Как заставить pg_restore вернуть код завершения 0 ?
Maxim BogukВторая линия жизниДобрый день.

pg_restore восстанавливает БД, но при востановлении жалуется на т очто plpgsql уже существует.

И соответсвенно выдает код возврата 1 а не 0.


Как сделать чтобы pg_restore проигнорировал эту ошибку и вернул код возврата 0 ?

Я бы для начала разобрался почему эта ошибка возникает.
Так как в нормальной работе ее не возникает.
Я знаю только 1 вариант - вы делали pg_dump на старой версии базы и старым pg_dump а восстанавливаете в новую версию базы и новым pg_dump.

Для начала приведите версии используемых pg_dump/pg_restore и самих баз.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


Так и было.

дамп 8.4
затем он восстанавливается на 9.4


А скажите, как этой ошибки избежать?
...
Рейтинг: 0 / 0
25.10.2017, 14:26
    #39541778
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить pg_restore вернуть код завершения 0 ?
Вторая линия жизниMaxim Bogukпропущено...


Я бы для начала разобрался почему эта ошибка возникает.
Так как в нормальной работе ее не возникает.
Я знаю только 1 вариант - вы делали pg_dump на старой версии базы и старым pg_dump а восстанавливаете в новую версию базы и новым pg_dump.

Для начала приведите версии используемых pg_dump/pg_restore и самих баз.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


Так и было.

дамп 8.4
затем он восстанавливается на 9.4


А скажите, как этой ошибки избежать?

Для начала попробовать снимать dump используя pg_dump от 9.4
Если не поможет - решить что так делать не надо и сделать одинаковую версию базы кругом.

PS: вообще 8.4->9.4 очень серьезная разница чтоб делать такие переливки регулярно. Какую задачу вы этим решаете?

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как заставить pg_restore вернуть код завершения 0 ? / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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