gpt4 book ai didi

postgresql - View 和搜索路径

转载 作者:行者123 更新时间:2023-11-29 12:56:18 25 4
gpt4 key购买 nike

我的 Postgres 数据库是一个多模式数据库。每个模式都有相同的结构,但数据不同。

它工作正常,因为我遇到了一个特定的问题。看起来 View 是根据当前的search_path生成的。

假设我的数据库是这样的:

  • 公开
  • 模式1

如果我 SET search_path TO schema1, public。然后 SELECT * FROM schema1.view;它将从公共(public)架构中检索数据。

我试图在生成 View 之前更改 search_path,但没有成功。我试图在我的 View 中添加表前缀,它起作用了。我的解决方案是在使用我的“新数据库”脚本创建 View 之前使用目标架构作为前缀。但我觉得它有点“脏”;

我很想对这个主题有更多的了解!

谢谢

最佳答案

创建 View 时, View 定义中的所有非限定对象名称都根据创建 View 时search_path 的值进行解析。引用表的对象 ID 是 View 定义的一部分。

因此,当您从 View 中SELECT 时,将search_path 设置为什么并不重要。

关于postgresql - View 和搜索路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42492520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com