powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / не восстанавливается база из бекапа
14 сообщений из 14, страница 1 из 1
не восстанавливается база из бекапа
    #39448512
ipvinner1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Пробую восстановить базу из бекапа, который делался с помощью команды
Код: plaintext
pg_dump -E unicode -Fc -f /tmp/db.pgdump dbname

восстанавливаю
Код: plaintext
pg_restore --verbose -1 db.pgdump -d testing 2>&1 | tee restore_log

Ошибка
Код: plaintext
1.
2.
3.
4.
pg_restore: [archiver (db)] could not execute query: ERROR:  function "akeys" already exists with same argument types
    Command was: CREATE FUNCTION akeys(hstore) RETURNS text[]
    LANGUAGE c IMMUTABLE STRICT
    AS '$libdir/hstore', 'hstore_akeys';

При этом базу создаю чистую
Код: plaintext
CREATE DATABASE testing WITH TEMPLATE = template0;
или так пробовал
Код: plaintext
CREATE DATABASE testing WITH TEMPLATE = template1;

\df не показывает, что функция есть в базе(в таблице чисто)

не могу понять, почему пострес находит где-то уже существующую функцию(не в таблице postgres, ни в testing этой функции нет)
...
Рейтинг: 0 / 0
не восстанавливается база из бекапа
    #39448538
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ipvinner1,

Есть подозрение, что в шаблонной БД (template0 и template1) установлено расширение hstore, которое тянет за собой процедуры. Проверьте, стоит ли расширение в шаблоне.
...
Рейтинг: 0 / 0
не восстанавливается база из бекапа
    #39448542
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ipvinner1,

Какие версии pg? Выглядит будто в дамп записались как create extension hstore, так и его же собственные create function.

PS: поздравляю с переходом на следующий уровень бекапа - делать бекап и проверять, что с него можно восстановиться.
...
Рейтинг: 0 / 0
не восстанавливается база из бекапа
    #39448564
ipvinner1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkij,
Пробовал на 9.2.2 и на 9.5.6.
...
Рейтинг: 0 / 0
не восстанавливается база из бекапа
    #39448567
ipvinner1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ursido, устанавливал из исходников postgresql
c опцией

cd contrib/ && make all && make install
без этого расширения, тоже из бекапа не получается развернуть ругается на создание функции типа hstore
Как проверить в темплете?
\dfS?
...
Рейтинг: 0 / 0
не восстанавливается база из бекапа
    #39448577
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ipvinner1,

Да. Этой командой.
Скорее всего в шаблонах все нормально.
Проблему, наверное. лучше описал Melkij.
...
Рейтинг: 0 / 0
не восстанавливается база из бекапа
    #39448580
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ursido,

Кстати, что говорит pg_restore с опцией --list (список всех объектов).
Это чтобы потом попробовать опцию --use-list.
...
Рейтинг: 0 / 0
не восстанавливается база из бекапа
    #39448583
ipvinner1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ursido,

Посмотрел по шаблонам template1, template0 - не увидел подобных сущностей hstore.
можно ли как-то при создании дампа базы исключить или CREATE или собственные фунции, чтобы они не дублировались при восстановлении? какое может быть решение?
...
Рейтинг: 0 / 0
не восстанавливается база из бекапа
    #39448591
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ipvinner1,

Посмотрите опции --list и --use-list для pg_restore ( https://www.postgresql.org/docs/9.6/static/app-pgrestore.html)
Вторая опция позволяет задать список восстанавливаемых объектов.
...
Рейтинг: 0 / 0
не восстанавливается база из бекапа
    #39448598
ipvinner1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ursido,

5469; 1255 354586 FUNCTION ct akeys(pg_catalog.hstore) postgres
5595; 1255 372538 FUNCTION ct akeys(hstore) postgres
5565; 1255 372378 FUNCTION public akeys(hstore) postgres

вот в списке оказывается сразу 3 функции в разных схемах
...
Рейтинг: 0 / 0
не восстанавливается база из бекапа
    #39448602
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ipvinner1Melkij,
Пробовал на 9.2.2 и на 9.5.6.
Меня больше интересует, какой версии pg_dump был, на самом деле.
Я не застал те туманные годы, когда create extension только появился (в 9.1 согласно мануалу), но ошибку пока предполагаю именно в этих краях.

Соглашусь с предложением посмотреть в --list. http://stackoverflow.com/a/31043192 Сдампить список объектов в файлик, посмотреть, что там есть реально, удалить из списка лишнее и восстановить через use-list
...
Рейтинг: 0 / 0
не восстанавливается база из бекапа
    #39448606
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что-нибудь вроде EXTENSION - hstore было в списке?
...
Рейтинг: 0 / 0
не восстанавливается база из бекапа
    #39448612
ipvinner1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkij,

pg_dump --version
pg_dump (PostgreSQL) 9.2.2

вот версия постреса на сервере, где был сделан дамп. Можно конечно вручную все делать, но там слишком много функций, которые прийдется добавлять в exclude(окола сотни)
...
Рейтинг: 0 / 0
не восстанавливается база из бекапа
    #39448617
ipvinner1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkij,

да, в списке есть
2466; 3079 328944 EXTENSION - hstore
26898; 0 0 COMMENT - EXTENSION hstore
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / не восстанавливается база из бекапа
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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