在没有 pg 转储的情况下恢复 Postgres 数据库?

Restoring Postgres database without pg dump?

我在 table space 位置 D:\tbl_DATA1 中有一个 postgre 数据库 DATA1。我们使用OS备份还原工具将D:\tbl_DATA1复制到目标机器C:\tbl_DATA1。是否可以从第二台机器中的这个文件夹重新创建数据库?

https://www.postgresql.org/docs/current/static/backup-file.html

An alternative backup strategy is to directly copy the files that PostgreSQL uses to store the data in the database

以及后来提到的两个限制

  • 必须关闭数据库服务器才能获得可用的备份。
  • 您应该恢复整个 PGDATA 目录,而不是从它们各自的文件或目录中恢复某些单独的表或数据库。

所以 - 通常的做法是关闭 PostgreSQL,将 PGDATA 目录复制到其他机器并启动 Postgres 以获得 cluser 副本。但它是在集群级别完成的——不是你提到的表空间或数据库——应该复制整个data_directory

所以 - 复制表空间目录并尝试破解数据库以添加表空间将失败。