Ссылка на базу данных PostgreSQL потеряна после обновления с 9.3 до 9.6

После обновления сервера PostgreSQL 9.3 до версии 9.6 я обнаружил, что некоторые ссылки были потеряны во время pg_upgrade. Оба сервера теперь работают на одной машине

На старом сервере баз данных у меня есть две базы данных dbA и dbB, проблема в том, что после выполнения pg_upgrade в таблицах dbB отсутствуют некоторые данные, и все данные из таблиц dbA отсутствуют, только схема. К счастью, я сохранил кластер 9.3, и когда я запускаю запросы из этого кластера, все данные там, как и ожидалось. После проверки некоторых конфигураций я заметил, что dbA находится в другом табличном пространстве.

Есть ли способ указать кластеру 9.6 на табличное пространство кластера 9.3 и каталог данных? Когда я сделал pg_upgrade, я также скопировал файлы конфигурации (причина загрузки схемы и некоторых данных в новый кластер)

У меня нет места, чтобы сделать pg_dump / pg_restore. Также попробовал что-то более прямое, как

/usr/pgsql-9.3/bin/pg_dump -p 5433 dbA | psql -p 5432 dbA

Но мне не хватило места, и при проверке размеров баз данных я заметил большую разницу, например, от 40 ГБ до 15 ГБ, поэтому я думаю, что команда заканчивает с ошибкой, потому что не осталось места.

Можно ли указать существующее местоположение файла базы данных и загрузить в новый кластер?

Заранее спасибо!!

0 ответов

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