【问题标题】:default schema name in netezza query lognetezza 查询日志中的默认模式名称
【发布时间】:2017-08-21 01:10:39
【问题描述】:

我正在寻找执行特定查询时使用的默认模式名称(如果表名不是完全限定的)。在 Netezza 中,所有记录的查询都存储在 histDb 中,我可以在其中找到记录的默认数据库查询,但是我无法针对查询获取默认数据库。 我可以在“_V_database”元数据视图中获取任何数据库的默认架构。但用户可以在使用“设置架构命令”执行任何查询之前更改默认架构。 我想了解有关运行查询的默认架构的信息。

【问题讨论】:

    标签: database logging schema default netezza


    【解决方案1】:

    如果您的系统配置为使用架构并且您的历史数据库是支持记录架构的正确版本(v2 或 v3),您可以找到给定查询连接到的架构当它运行时。

    在您的历史数据库中查找 $hist_query_prolog_n 表中的 SCHEMANAME 列(例如,对于版本 3,这将是 $hist_query_prolog_3 )表。 This is documented thoroughly here.

    请记住,您需要在查询中引用历史表名。

    select schemaname from "$hist_query_prolog_3"  where querytext like 'select count(1)%';
     SCHEMANAME 
    ------------
     SCHEMA_A
     SCHEMA_B
     SCHEMA_A
     SCHEMA_A
    (4 rows)
    

    【讨论】:

    • 感谢您的回复。我会检查它。
    • 所以如果 hist 版本为 1,我们就没有任何有关架构的信息?
    • 没错。您需要切换到历史数据库的版本 2 或 3 来跟踪查询的架构信息。
    猜你喜欢
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 2014-05-31
    相关资源
    最近更新 更多