Перенос базы данных из PostgreSQL 12 в PostgreSQL 9.2.24 - PullRequest
0 голосов
/ 28 апреля 2020

Мне нужно перевести дб с PostgreSQL 12 на PostgreSQL 9.2.24. Я пытаюсь сделать резервную копию моей базы данных из PostgreSQL 12 и восстановить на PostgreSQL 9.2.24, но я не могу сделать это, потому что есть ошибка, подобная этой:

LINE 1: SELECT pg_catalog.setval('public.schemas_headers_types_id_se...
                                 ^


LINE 2:     ADD CONSTRAINT user_id PRIMARY KEY (id) INCLUDE (id);
                                                    ^
Command was: ALTER TABLE ONLY public.users

...

Я не могу обновить версию БД с PostgreSQL 9.2.24 до PostgreSQL 12, потому что мой хостинг-провайдер не позволяет мне это делать. Как я не могу по-настоящему перевести мою базу данных с PostgreSQL 12 на PostgreSQL 9.2.24?

Ответы [ 2 ]

1 голос
/ 28 апреля 2020

Вам нужно отредактировать дамп, чтобы удалить INCLUDE (id) (что в любом случае является довольно бесполезным использованием функции ВКЛЮЧИТЬ, чтобы включить один и тот же столбец дважды). Но кто знает, сколько ошибок вы обнаружите?

мой хостинг-провайдер не позволяет мне это сделать

Похоже, реальное решение - найти другой хостинг-провайдер.

0 голосов
/ 28 апреля 2020

pg_dump говорит ...

Кроме того, не гарантируется, что вывод pg_dump может быть загружен на сервер более старой основной версии - даже если дамп был взято с сервера этой версии. Загрузка файла дампа на старый сервер может потребовать ручного редактирования файла дампа для удаления синтаксиса, не понятного старому серверу. Использование опции --quote-all-identifiers рекомендуется в кросс-версиях, так как это может предотвратить проблемы, возникающие из-за изменения списков зарезервированных слов в разных PostgreSQL версиях.

include это функция, которая просто не существует в Postgres 9.2. Эти и другие функции должны быть заменены альтернативами, если это возможно.

9.2.24 достиг конца срока эксплуатации в ноябре 2017 года . Возможно, вы сможете использовать этот факт для обновления вашего провайдера. Если нет, подумайте, хотите ли вы использовать хостинг-провайдера, который отказывается обновлять программное обеспечение, которое больше не поддерживается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...