powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / обновление базы 9.0 на 10 hstore ошибка
3 сообщений из 3, страница 1 из 1
обновление базы 9.0 на 10 hstore ошибка
    #39587289
ipvinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь обновить postgresql 9.0 на 10
на сервер, где установлен 9.0
Код: sql
1.
pg_dump -E unicode -Fc -f db.pgdump db



На сервере 10.
Код: sql
1.
pg_restore -1 db.pgdump -d db 2>&1 | tee restore_log


здесь пробовал и создавать hstore(CREATE extension hstore) до рестора и после - результат одинаковый.

При восстановлении получаю ошибку
Код: sql
1.
2.
3.
4.
LINE 1: CREATE OPERATOR => (
                        ^
ERROR:  syntax error at or near "=>"
LINE 1: ALTER OPERATOR public.=> (text, text) OWNER TO postgres;



единственное, что нашел в интернете - вот эту статью на stackoverflow
https://stackoverflow.com/questions/38686639/syntax-error-near-when-running-pg-upgrade-9-4-to-9-5

Т.е. там человек предлагает создать hstore на 9.x версии, командой
Код: sql
1.
CREATE EXTENSION hstore FROM unpackaged;


После чего изменить весь код, где это используется. Дело в том, что у нас практически код писался давно и уже нет возможности его менять. Есть ли какой-то еще вариант, как можно нормально восстановиться?
...
Рейтинг: 0 / 0
обновление базы 9.0 на 10 hstore ошибка
    #39587301
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ipvinner,

Если вы не используете этот оператор при работе - то необходимо удалить его перед дампом. drop operator
Если используете - менять весь код, где этот оператор используется.

Последняя ветка, где допустим такой оператор - 9.5. Выше - никак.
...
Рейтинг: 0 / 0
обновление базы 9.0 на 10 hstore ошибка
    #39587399
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ipvinner,

Оператор => в версиях начиная с 9.6 зарезервирован для совсем других целей.
Без переделки вашего кода на 9.6 и далее и замены этого оператора - вы обновится не сможете ни при каких условиях.
Но если этот оператор у вас редко где используется - поменять код не такая большая проблема.

Т.е. нет никак в принципе вы не заставите 9.6 или 10.0 поддерживать этот оператор (extensions на то и расширения что с совместимостью вверх и вниз там могут быть варианты).

PS: создание оператора => давало warning начиная с 9.2 кажется т.е. лет 5, пора было обратить внимание.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / обновление базы 9.0 на 10 hstore ошибка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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