我们可以在同一个模式中有两个 Postgres 数据库吗?

Can we have two Postgres databases in same schema?

我希望有人能帮助我了解 Postgres 模式和数据库。

我有一个名为 db1 的 Postgres 数据库,它有 table 个调用 table1。 所有这些对象都在名为 public.

的默认架构中

然后我创建了另一个名为 db2 的数据库,并创建了另一个同名 table1 的 table。

我没有收到任何错误,但两个 table 都在同一个名为 public.

的架构中

我为这两个 table 创建了索引,它们都将 table 称为 public。table1.

我想知道这样的设置是否会产生问题?如果是,那么如果我要在所有数据库中使用相同的 table 名称,我是否应该为每个数据库创建不同的模式?

在 Postgres 中,数据库是最高级别的“容器”。然后是模式。在不同的数据库中可以有同名的模式(但在同一个数据库中不能)。其他数据库不会“看到”它们。所以你的设置没有问题。