Пришлось обновить Postgres на Ubuntu; Теперь, как получить доступ к старым, отсутствующим базам данных?

Мое локальное соединение на моем сервере Ubuntu (14.04) не работало с моей базой данных Postgres (9.3), поэтому я попытался обновить его до 9.4, чтобы решить проблемы с соединением. К счастью, теперь я могу подключиться к базе данных, но ... Мои старые базы данных (и таблицы, представления и т. Д.) Теперь отсутствуют ...

Можно ли их восстановить? Как бы я поступил так?

3
задан 3 April 2015 в 01:52

2 ответа

Если у Вас нет резервного дампа, лежащего вокруг, самый безопасный способ сделать, это к:

  • Пост-ГРЭС удаления 9.4,
  • установка 9.3,
  • копируют базу данных с помощью pg_dumpall > backup.sql,
  • Пост-ГРЭС удаления 9.3,
  • , Пост-ГРЭС установки 9.4,
  • восстанавливает базы данных с помощью psql -d postgres -f backup.sql.

Эти 9,3 баз данных находятся в другом формате, чем, что 9.4 ожидает и нет никакого простого способа преобразовать их использующий 9,4 инструментов только.

-1
ответ дан 3 April 2015 в 01:52

Если Вы не удалили старые 9,3 кластеров должно быть 2 выполнения кластеров:

$ service postgresql status
9.3/main (port 5432): online
9.4/main (port 5433): online

(или использование pg_lsclusters для отображения существующих кластеров PostgreSQL).

команды PostgresSQL принимают -p аргумент различать, какой кластер DB Вы используете (он принимает также путь сокета Unix). Можно экспортировать старое использование данных (предполагающий, что старый DB работает на порте 5432):

su - postgres
pg_dump -p 5432 my_db -f my_db.dump
# import data into new DB cluster
pg_restore -p 5433 -d my_db my_db.dump
0
ответ дан 3 April 2015 в 01:52

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

Похожие вопросы: