【问题标题】:How to query many schemas at the same time in postgres如何在 postgres 中同时查询多个模式
【发布时间】:2022-06-14 15:11:33
【问题描述】:

我有一个包含数千个模式(每个用户一个)的网络应用程序。

我看过这篇文章

Hibernate and Multi-Tenant Database using Schemas in PostgreSQL

这里提到了在模式中查询特定表的 search_path 方法。

我想知道如何在 postgres 中同时查询所有架构?

我是否需要实现一个 python 脚本(例如)来逐个进行查询然后收集结果,或者我可以直接在 SQL 中实现它来收集所有查询吗?

例如,如果我想要一个带有 userid 和 number_of_posts 的表,并且我想使用单独的模式查询每个用户的这些字段,我将如何在 SQL 中编写它?我看不到如何自动更改唯一查询中的搜索路径。

postgres 中是否有列出所有现有模式的命令?

非常感谢

【问题讨论】:

  • SELECT * FROM information_schema.schemata;但是,我无法想象为什么每个用户都需要一个模式。像这样的数据模型会产生大量问题,而这只是其中之一。
  • 谢谢。当您需要将数据与我在网络上阅读的内容隔离时,这是一种用于管理用户数据的通用数据库架构......
  • 不同的来源,不同的意见......我们处理数百万用户,根据法律,他们不允许看到彼此的数据。但是不同的模式将是最糟糕的解决方案。一个简单的“WHERE用户=?”解决问题。
  • 从我在您的个人资料中看到的内容看来您很有经验...您有什么建议?你在哪里用户=?只处理查询对吗?
  • 是的,数据访问问题在您用于所有 CRUD 操作的 SQL 中得到了解决。当有新客户进来时,您不再需要 DDL,您不必为该用户创建架构、表、索引和其他东西。

标签: postgresql schema


猜你喜欢
  • 2010-11-30
  • 1970-01-01
  • 1970-01-01
  • 2015-09-11
  • 2019-05-25
  • 1970-01-01
  • 1970-01-01
  • 2021-05-22
  • 1970-01-01
相关资源
最近更新 更多