在 postgres 中给数据库赋予别名

在 postgres 中给数据库赋予别名

有什么办法可以给 postgres 数据库指定别名吗?

本质上,我需要一个使用两个名称的数据库,这样我就可以查询 DB_ALPHA 和 DB_ONE,它们会产生完全相同的效果。我在 MySQL 中通过在同一目录中放置指向数据库的符号链接来实现这一点。我还没有在 postgres 中找到与此解决方案等效的解决方案。

感谢您的帮助!谢谢!

答案1

您无法为架构或数据库创建别名,因为 Schemaname / DBname 在内部用作表的主键pg_namespacepg_database

答案2

最好的解决方案似乎是弹跳器。它允许您汇集和“重定向”从一个数据库到另一个数据库的连接(即使在不同的主机上)。

答案3

不可以。在 PostgreSQL 中,您必须先连接到单个数据库,然后才能执行任何查询。在 MySQL 中,您只有一个数据库和多个模式(在 MySQL 世界中称为“数据库”),您始终可以在不同的“数据库”上执行查询。

如果您想在 PostgreSQL 中进行相同的设置,只需在数据库中创建不同的模式。

CREATE SCHEMA foo;
CREATE SCHEMA bar;

答案4

您是否需要写入查询以及读取查询?我很想尝试创建第二个数据库,然后使用数据库目录级别的符号链接指向第一个数据库目录。只要您在第二个系统中坚持只读查询,那可能就没问题;另一方面,您可能会因奇怪的共享内存相关问题而遇到各种损坏,但这将是一个有趣的实验。

相关内容