无法在一个系统上查看另一个系统上的 postgres 数据库

无法在一个系统上查看另一个系统上的 postgres 数据库

我正在尝试查看当前安装的 postgres 中在不同系统上创建的数据库。

我下载了相同版本的 postgres(9.6),并用来自其他系统的数据文件夹替换了数据文件夹,但是当我在 pgadmin 中查看数据库时,只存在默认表。

我对目录结构也感到困惑。我复制的目录结构是 /data/base、四个数字目录和“pgsql_tmp”。这些数字是什么意思?

答案1

我也对目录结构感到困惑。我复制过来的目录结构是 /data/base

数据库文件布局在 9.6 文档中查看目录结构的解释。

$PGDATA似乎是/data,因此你需要复制所有这些。

您看不到带有部分副本的目标数据库的原因可能是pg_database存储在 中/data/global。请注意,实例完全启动似乎很幸运。它可能会拒绝启动,或者启动后很快损坏。 下的数据文件$PGDATA/base通常无法跨实例移植,因为它们包含带有事务 ID 的元数据。

$PGDATA仅当目标具有完全相同的架构、相同的操作系统和相同的 Postgres 主版本时,整个目录才可移植。

相关内容