Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database PostgreSQL:在另一个驱动器上查找并还原PostgreSQL数据库文件_Database_Postgresql_Data Recovery - Fatal编程技术网

Database PostgreSQL:在另一个驱动器上查找并还原PostgreSQL数据库文件

Database PostgreSQL:在另一个驱动器上查找并还原PostgreSQL数据库文件,database,postgresql,data-recovery,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 1181

我正在开发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/
及其下方的所有内容复制到新位置。复制旧实例的配置并调整路径以适应新位置(主目录是“数据目录”(有时也称为
PGDATA
)。启动新实例并仔细查看日志。您可能应该重建任何索引

另外,请阅读fine文档中的


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

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

另外,请阅读fine文档中的


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

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

另外,请阅读fine文档中的


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

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

另外,请阅读fine文档中的

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

  • Postgres二进制文件必须是相同的版本
  • 确保postgres未运行
  • 使用
    cp-rfp
    tar | tar
    cpio
    或任何您喜欢的方式进行复制。确保保留文件所有者和模式(顶级目录必须为0700,由postgres所有)
  • 确保postgres启动(在/etc/init.d/postxxx中)指向新目录;有时有一个环境变量$PGDATA包含postgres数据目录的名称;也许您还需要对new_目录/postgres.conf进行更改(pg_log等人)
  • 为安全起见,重命名旧数据目录
  • 重新启动Postgres
  • 尝试连接到它;检查日志

额外:

  • 经验丰富的unix管理员(如BOFH;-)可能希望处理装入点和/或符号链接(而不是复制)。请便。YMMV
  • 经验丰富的DBA可能希望创建一个表空间,将其指向新位置,并(有选择地)将数据库、模式或表移动到新位置
      • Postgres二进制文件必须是相同的版本
      • 确保postgres未运行
      • 使用
        cp-rfp
        tar | tar
        cpio
        或任何您喜欢的方式进行复制。确保保留文件所有者和模式(顶级目录必须为0700,由postgres所有)
      • 确保postgres启动(在/etc/init.d/postxxx中)指向新目录;有时有一个环境变量$PGDATA包含postgres数据目录的名称;也许您还需要对new_目录/postgres.conf进行更改(pg_log等人)
      • 为安全起见,重命名旧数据目录
      • 重新启动Postgres
      • 尝试连接到它;检查日志

      额外:

      • 经验丰富的unix管理员(如BOFH;-)可能希望处理装入点和/或符号链接(而不是复制)。请便。YMMV
      • 经验丰富的DBA可能希望创建一个表空间,将其指向新位置,并(有选择地)将数据库、模式或表移动到新位置
          • Postgres二进制文件必须是相同的版本
          • 确保postgres未运行
          • 使用
            cp-rfp
            tar | tar
            cpio
            或任何您喜欢的方式进行复制。确保保留文件所有者和模式(顶级目录必须为0700,由postgres所有)
          • 确保postgres启动(在/etc/init.d/postxxx中)指向新目录;有时有一个环境变量$PGDATA包含postgres数据目录的名称;也许您还需要对new_目录/postgres.conf进行更改(pg_log等人)
          • 为安全起见,重命名旧的d