postgres从数据文件恢复 – 没有数据显示

我正在恢复一个数据库,我匆匆没有pg_dump,我只是自己的数据文件。 数据文件太旧了(8.1)加载到我带给他们的机器上的postgres,所以我编译(fc14)并安装postgres 8.1,以便加载它们和pg_dump它们,以获得转储文件来恢复在新的数据库安装。

一切都很顺利,直到我试图看到数据。 也就是说,我使用pg_ctl start -D / mypath / mydata启动postmaster并获得“postmaster starting”,服务器正在运行,并且可以连接到它。 只是我期望看到的数据库不在那里。 试图连接到该数据库告诉我,它不存在。

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数据文件只能在同一个版本中工作。 只是要确保得到完全相同的版本,虽然我认为patchlevel版本更改应该是兼容的

对不起,麻烦 – 事实certificate,我已经备份了错误的数据树,所以自然分贝不在那里。 幸运的是,当我意识到这一点时,我感觉到沉没的感觉,几分钟后,我发现我实际上已经做了一个文本转储的数据。 我真的需要更有条理

只是为了避免这个冒险浪费时间,我确实发现了一个可以帮助任何人点击这个问题的小技巧:在数据树中,文件/ global / pg_database是一个小文本文件,它显示包含的数据库的名称。