Назад | Перейти на главную страницу

восстановление postgres из файлов данных - данные не отображаются

Я восстанавливаю базу данных, которую я довольно поспешно не сделал pg_dump, я просто заархивировал сами файлы данных. Файлы данных слишком старые (8.1) для загрузки в postgres на машине, на которую я их привожу, поэтому я скомпилировал (fc14) и установил postgres 8.1, чтобы загрузить их, и pg_dump их, чтобы получить файл дампа для восстановления в новой установке db.

Все шло хорошо, пока я не попытался просмотреть данные. То есть я запускаю postmaster с помощью pg_ctl start -D / mypath / mydata и получаю «postmaster start», сервер работает, и я могу подключиться к нему. Просто той базы данных, которую я ожидал увидеть, нет. Попытка подключиться к этой базе данных говорит мне, что ее не существует.

postgres=# \dn
    List of schemas
    Name        |  Owner   
--------------------+----------
 information_schema | postgres
 pg_catalog         | postgres
 pg_toast           | postgres
 public             | postgres
(4 rows)

postgres=# \c ridenetdb
FATAL:  database "ridenetdb" does not exist
Previous connection kept

Единственное, что я коснулся в файлах данных, это что-то под названием pg_hba.conf, я установил для всех соединений значение «trust». Возможно, я просто что-то упускаю, или это безнадежное дело?

Вы можете проверить следующие вещи:

  • Файлы данных Postgres не зависят от архитектуры - используете ли вы ту же архитектуру, что и исходный хост (виртуализация - ваш друг)
  • Файлы данных Postgres работают только в одной версии. Просто чтобы быть уверенным, что получите ту же версию, хотя я считаю, что изменения версии на уровне патча должны быть совместимы.

Извините за беспокойство - оказалось, что я создал резервную копию неправильного дерева данных, поэтому, естественно, базы данных там не было. К счастью, чувство опускания, которое у меня возникло, когда я понял, что оно прошло через несколько минут, когда я обнаружил, что было все равно сделал текстовый дамп данных. Мне действительно нужно быть более организованным ...

Чтобы это приключение не было пустой тратой времени, я обнаружил один лакомый кусочек, который может оказаться полезным для любого, кого привлечет этот вопрос: в дереве данных файл / global / pg_database - это небольшой текстовый файл, который показывает имена содержащихся баз данных.