PostgreSQL 10 => 11.1 по вопросам обновления Brew

Попытка найти маршрут миграции из PostgreSQL 10.6 в postgreSQL 11.1,

С помощью pg_upgrade, из обеих версий, дай мне ошибки. От 11.1 который я думал будет использоваться для перевода устаревших таблиц в валюту:

$ /usr/local/Cellar/postgresql/11.1/bin/pg_upgrade -v \
>     -b /usr/local/Cellar/postgresql@10/10.6/bin \
>     -B /usr/local/Cellar/postgresql/11.1/bin \
>     -d /usr/local/var/postgres \
>     -D /usr/local/var/postgres
Running in verbose mode
Performing Consistency Checks
-----------------------------
Checking cluster versions
This utility can only upgrade to PostgreSQL version 11.
Failure, exiting

От 10.6, ожидаемый результат, так как он не может видеть форвардную структуру:

/usr/local/Cellar/postgresql@10/10.6/bin/pg_upgrade -v \
>     -b /usr/local/Cellar/postgresql@10/10.6/bin \
>     -B /usr/local/Cellar/postgresql/11.1/bin \
>     -d /usr/local/var/postgres \
>     -D /usr/local/var/postgres
Running in verbose mode
Performing Consistency Checks
-----------------------------
Checking cluster versions
New cluster data and binary directories are from different major versions.
Failure, exiting

Как я могу перенести таблицы для работы с версией 11.1 должным образом? Я предполагаю, что используется последняя версия, и мои каталоги действительны.

1 ответ

Да, вам нужно использовать pg_upgrade версии, которую вы обновляете до (11.1).

Ваши параметры -b и -B выглядят нормально. Однако ваши -d и -D не могут быть одинаковыми! Расположение конфигурации также определяет местоположения данных, и они не могут быть одинаковыми. Вам необходимо указать расположение конфигурации вашего инициализированного кластера 11.1 с помощью -D.

Если вы не хотите, чтобы pg_upgrade копировал все данные, используйте опцию --link, чтобы использовать жесткие ссылки вместо копирования. После обновления вы можете удалить старые данные dir.

Другие вопросы по тегам