如何在类似的数据库中查找特定数据(字段)

时间:2013-06-06 05:18:54

标签: python sql database postgresql

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

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

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

任何类型的帮助,建议和指示都表示赞赏。

1 个答案:

答案 0 :(得分:1)

坦率地说,除了在15-20个数据库中实际搜索之外,你所做的事情并不多。

你可以肯定地在另一个单独的数据库中创建一个丑陋的视图,该数据库在PG 9.3发布时使用dblink(或Postgres foreign data wrapper)查询这些外部数据库。但这只会改变下游查询外部数据库的负担。

另一种选择,如果在某种程度上改变您的架构是一种选择,那就是使用DB schemas(每个客户一个)而不是完全独立的数据库。也许有一些table inheritance可以从一个只有你可以访问的管理模式一次查询所有内容。

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