Я восстанавливаю базу данных, которую я довольно поспешно не сделал 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». Возможно, я просто что-то упускаю, или это безнадежное дело?
Вы можете проверить следующие вещи:
Извините за беспокойство - оказалось, что я создал резервную копию неправильного дерева данных, поэтому, естественно, базы данных там не было. К счастью, чувство опускания, которое у меня возникло, когда я понял, что оно прошло через несколько минут, когда я обнаружил, что было все равно сделал текстовый дамп данных. Мне действительно нужно быть более организованным ...
Чтобы это приключение не было пустой тратой времени, я обнаружил один лакомый кусочек, который может оказаться полезным для любого, кого привлечет этот вопрос: в дереве данных файл / global / pg_database - это небольшой текстовый файл, который показывает имена содержащихся баз данных.