0

我们正在为我们的项目使用 postgresql DB。每个客户都有他们自己的数据库(都是一样的),即对于所有这些数据库,我们都有用于数据库关系的通用模式。

我想在这些数据库中搜索一个特定的字段值,即哪个特定的数据库/数据库包含该值。我面临的问题是我们有 15-20 个数据库(在正常情况下),现在在每个数据库中搜索并不是一个好的解决方案,所以我正在寻找一些可以在所有数据库中搜索的解决方案。

我们可以使用 sqlalchemy、psycopg2 搜索一些脚本,但我的偏好是是否有其他可用的解决方案。

任何类型的帮助、建议、指针都值得赞赏。

4

1 回答 1

1

坦率地说,除了在这 15-20 个数据库中进行实际搜索之外,您无能为力。

诚然,您可以在另一个单独的数据库中创建一个丑陋的视图,该数据库使用dblink(或PG 9.3 发布时的Postgres 外部数据包装器)查询那些外部数据库。但这只会转移下游查询外部数据库的负担。

如果稍微改变架构是一种选择,另一种选择是使用数据库模式(每个客户一个)而不是完全独立的数据库。也许有一些表继承可以从只有您可以访问的管理模式中一次性查询所有内容。

话虽如此,请注意,无论您实际做什么,您最终都会以某种方式从多个来源进行查询,而不是将表格合并在一起并随身携带customer_id

于 2013-06-06T09:56:41.257 回答