database - PostgreSQL : Find Postgresql database file on another drive and restore it

标签 database postgresql data-recovery

我正在处理 PostgreSQL 数据库,最近我们进行了服务器升级,在此期间我们将驱动器从 2Tb raid 硬盘更改为 SSD。现在我将 RAID 驱动器安装在一个分区上,甚至可以访问它。

接下来我想做的是从安装的驱动器中取出数据库并将其恢复到当前运行的 PostgreSQL 上。我怎样才能做到这一点?

root@check03:/mnt/var/lib/postgresql/9.1/main/global# ls
11672      11674  11805  11809      11811  11813_fsm  11816  11820  11822  11824_fsm  11828  11916  11920        pg_internal.init
11672_fsm  11675  11807  11809_fsm  11812  11813_vm   11818  11820_fsm  11823  11824_vm   11829  11918  pg_control   pgstat.stat
11672_vm   11803  11808  11809_vm   11813  11815      11819  11820_vm   11824  11826      11914  11919  pg_filenode.map
root@check03:/mnt/var/lib/postgresql/9.1/main/global# cd ..

如您所见,我可以访问驱动器和文件夹,但我不知道下一步该怎么做。请告诉我。多谢。

最佳答案

您需要相同版本的 PostgreSQL (9.1),以及相同或更高的次要版本。将 main/ 及其下方的所有内容复制到新位置。复制旧实例的配置并调整路径以适应新位置(main/ 是“数据目录”(有时也称为 PGDATA)) .启动新实例并仔细查看日志。您可能应该重建任何索引。

另请阅读 file layout在精美的文档中。

编辑:如果您有机会运行旧配置,请阅读 backup and restore ,这是一种更安全的数据传输方式。

关于database - PostgreSQL : Find Postgresql database file on another drive and restore it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29918444/

相关文章:

hard-drive - 无需创建文件即可读写硬盘

php - 如何在多个表上设置一个FK(外键)?

mysql - SQL 计算多列的出现次数

java - Hibernate 和 PostgreSQL - 检查 setParameterList 中传递的集合是否为空

sql - 在 oracle sql 中自动增加一个带有字符串前缀的 ID?

database - Postgres 时间戳

r - 无法在 CentOS 7 上的 R Studio 中安装 RPostgreSQL 包

cassandra - 如何将数据从 SSTables 恢复回 Cassandra?

postgresql - 如何在现有数据库中安装 postgresql-contrib 模块?

java - 从 Eclipse 返回已删除的项目