即使会话在Redshift中结束,也要创建一个存在的视图?

时间:2017-12-13 05:23:45

标签: view amazon-redshift

我正在尝试在Redshift中创建一个视图。但是当我关闭会话并再次重新打开它时,给定的视图不存在。即使我的会话过期,我如何创建一个存在的视图?

3 个答案:

答案 0 :(得分:0)

视图是持久的。

您无法看到视图的一些可能原因:

  • 您正在以具有不同架构搜索路径的其他用户身份进行连接
  • 您正在连接到其他数据库
  • 您在另一个架构中创建了视图,当您重新连接时,您转到默认架构

答案 1 :(得分:0)

视图不依赖于会话。它们将像任何其他表一样存在于存储中。

您是否在create view []语句前加上架构名称create view schemaname.viewname?如果没有,视图将在您的公共模式或默认模式搜索路径中创建。

解决问题的方法是浏览列出的不同架构,然后找出您的视图创建位置。

  1. 如果您在public架构中找到了您的视图,您将会知道如果未设置默认搜索路径并且在创建表/视图时未提及schemaname,则默认情况下会在公共架构中创建它
  2. 如果您在任何其他架构中找到您的视图,您将会知道您的搜索路径是什么。

答案 2 :(得分:0)

添加到以前的答案,可能会删除视图依赖项(视图定义中使用的表),因此会删除视图。