PostgreSQL-视图-03-查询对象依赖关系视图-dba_dependencies

这篇具有很好参考价值的文章主要介绍了PostgreSQL-视图-03-查询对象依赖关系视图-dba_dependencies。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

PostgreSQL查询对象依赖关系视图文章来源地址https://www.toymoban.com/news/detail-613655.html


-- PostgreSQL查询对象依赖关系视图

drop view if exists tzq.dba_dependencies;
create view tzq.dba_dependencies as 
with source_obj as (
  select sp.oid,sp.proname
        ,unnest(
           string_to_array(
             regexp_replace(
                regexp_replace(lower(sp.prosrc),'--.*?\n'::text, ''::text, 'g'::text)
                ,'\W+'::text, ' '::text, 'g'::text)
             , ' '::text)
         )
         as split_text
        ,sp.proowner::regrole::character varying as schema_name
        ,sp.proowner
    from pg_proc sp
   where (sp.proowner in (select pg_user.usesysid 
                            from pg_user
                           where pg_user.usename ~~ 'tzq%'::text or 
                                 pg_user.usename = 'jdbc_etl_in'::name or 
                                 pg_user.usename = 'ewf'::name
                          ))
)
,all_depend as (
  select t.schema_name as owner
        ,t.proname as name
        ,'procedure'::text as type
        ,p.proowner::regrole::character varying as referenced_owner
        ,p.proname as referenced_name
        ,'procedure'::text as referenced_type
        ,p.proowner
    from source_obj t
    join pg_proc p
      on t.split_text = p.proname
     and p.proowner <> 10::oid
  union all
  select t.schema_name as owner
        ,t.proname as name
        ,'procedure'::text as type
        ,p.schemaname as referenced_owner
        ,p.tablename as referenced_name
        ,'table'::text as referenced_type
        ,t.proowner
    from source_obj t
    join pg_tables p
      on t.split_text = p.tablename
     and (p.schemaname ~~ 'tzq%'::text or 
          p.schemaname = 'jdbc_etl_in'::name or 
          p.schemaname = 'ewf'::name)
)
select distinct
       owner
      ,name
      ,type
      ,referenced_owner
      ,referenced_name
      ,referenced_type
  from all_depend
;




到了这里,关于PostgreSQL-视图-03-查询对象依赖关系视图-dba_dependencies的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PostgreSQL(九)内置系统视图

    PGSQL 中提供了一系列内置的视图,包括 系统视图 和 其他视图 。 系统视图提供了查询系统表的一些便利的访问方法。 其他视图提供了访问内部服务器状态的方法。 官方文档: https://www.postgresql.org/docs/14/monitoring-stats.html 我们可以使用 dv pg* 命令查询 PGSQL 中所有的内置系统视

    2024年02月09日
    浏览(33)
  • Postgresql源码(114)视图权限授予逻辑

    被授权的对象在系统表中记录授权信息,例如pg_namespace中的nspacl列: pusr1=UC/mingjie的含义: mingjie是赋予者 pusr1是被赋予者 UC是权限,表示USAGE和CREATE 有时会遇到下面场景,访问一个视图没有权限: 结果 查看namespace视图: 这种情况下,添加两种权限都可以访问函数: 这里我

    2024年02月07日
    浏览(41)
  • Unity学习03:Scene 视图

    简单介绍 Scene 视图是正在创建的世界的交互式视图。Scene 视图可用于选择和定位景物、角色、摄像机、光源和所有其他类型的游戏对象。在 Scene 视图中选择、操作和修改游戏对象是开始使用 Unity 必须掌握的一些必要技能。 1)坐标工具 (1)unity 坐标系统 3D坐标系是3D游戏开

    2023年04月09日
    浏览(34)
  • 《PostgreSQL 开发指南》第32篇 物化视图

    物化视图(Materialized View)是 PostgreSQL 提供的一个扩展功能,它是介于视图和表之间的一种对象。 物化视图和视图的最大区别是它不仅存储定义中的查询语句,而且可以像表一样存储数据。物化视图和表的最大区别是它不支持 INSERT、UPDATE、DELETE 以及 MERGE 语句,只能通过刷新

    2024年02月12日
    浏览(36)
  • 03-微信小程序常用组件-视图容器组件

    微信小程序组件-视图容器 微信小程序包含了六大组件: 视图容器 、 基础内容 、 导航 、 表单 、 互动 和 导航 。这些组件可以通过WXML和WXSS进行布局和样式设置,从而构建出丰富的小程序界面和交互体验。 其中,视图容器组件包括view和scroll-view等,用于实现页面的结构和

    2024年02月12日
    浏览(44)
  • 【NetCore】03-依赖注入

    管理类之间的依赖,帮助我们在构建应用时遵循设计原则,确保代码的可维护性和可扩展性 依赖注入框架提供了对象创建和生命周期管理的核心能力,各个组件相互协作,也是由依赖注入框架的能力来实现的 组件包 Microsoft.Extensions.DependencyInjection.Abstractions Microsoft.Extensions.

    2024年02月15日
    浏览(39)
  • 【postgresql初级使用】视图的基础操作,管理员与普通员工看到不同的数据,视图的作用与重要性介绍

    ​ 专栏内容 : postgresql使用入门基础 手写数据库toadb 并发编程 个人主页 :我的主页 管理社区 :开源数据库 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 数据库视图是一个虚拟的表,它基于一个或多个实际表的查询结果。视图并不实际存储数据,而是通过

    2024年04月27日
    浏览(47)
  • Day04 03-MySQL数据库的DCL(用户|权限|视图)

    第十二章 DCL 12.1 DCL的作用 DCL语句主要用来做用户的创建、管理,权限的授予、撤销等操作的。 12.2 管理用户 创建、删除用户的操作,必须要使用root用户才可以完成! 12.3 权限管理 如果在授权远程登录的时候,出现如下问题: Unable to load authentication plugin ‘caching_sha2_password’

    2024年02月07日
    浏览(61)
  • 如何查看Android 包依赖关系&gradle依赖管理

    关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 我们继续总结学习,温故知新。 本文讲述如何查看 android 依赖库关系。 Tasks-help-dependencies 可以看项

    2024年01月18日
    浏览(59)
  • openEuler 22.03 LTS 上源码安装 PostgreSQL 15

    6.1 创建数据目录 6.2 切换到 postgres 操作系统用户 6.3 初始化数据库 6.4 启动数据库 把 start 改为 stop 就是停止。 7.1 以管理员的身份配置/etc/profile 在/etc/profile.d 目录下新增 postgresql.sh 文件,内容如下 7.2 设置开机自动启动 (1)创建启动文件 在/usr/lib/systemd/system 下创建文件 po

    2024年02月20日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包