首页 > 数据库 >PostgreSQL的视图pg_views

PostgreSQL的视图pg_views

时间:2024-06-13 12:28:54浏览次数:13  
标签:PostgreSQL views 视图 获取 pg class SELECT

PostgreSQL的视图pg_views

pg_views 是 PostgreSQL 中的一个系统视图,用于显示数据库中所有视图(views)的相关信息。视图是一个虚拟表,其内容由查询定义。通过查询 pg_views 视图,数据库管理员和开发人员可以查看当前数据库中定义的所有视图的信息。

pg_views 视图的主要列

列名类型描述
schemanamename视图所属的模式(schema)名称。
viewnamename视图的名称。
viewownername拥有该视图的角色。
definitiontext视图的定义,也就是创建视图的 SQL 查询语句。
查看所有视图
SELECT * FROM pg_views;
查看特定模式下的所有视图
white=# SELECT * FROM pg_views 
white-# WHERE schemaname = 'yewu1';
 schemaname | viewname | viewowner |    definition     
------------+----------+-----------+-------------------
 yewu1      | v_t1     | postgres  |  SELECT id       +
            |          |           |    FROM yewu1.t1;
(1 row)
获取视图的依赖对象信息

有时,你可能需要了解哪些表或视图被某个视图依赖。可以通过查询 pg_dependpg_class 系统表获取这种依赖关系。

SELECT 
    d.refobjid::regclass AS referenced_object,
    c.relname AS dependent_view
FROM 
    pg_depend AS d
JOIN 
    pg_class AS c ON d.objid = c.oid
WHERE 
    d.refclassid = 'pg_class'::regclass
    AND c.relkind = 'v';  -- 视图
获取视图的所有者和权限

视图的所有者和权限也很重要。可以结合 pg_viewspg_roles 系统表获取这些信息。

SELECT 
    v.schemaname,
    v.viewname,
    r.rolname AS owner,
    c.relacl AS permissions
FROM 
    pg_views AS v
JOIN 
    pg_class AS c ON c.relname = v.viewname
JOIN 
    pg_roles AS r ON r.oid = c.relowner
WHERE 
    c.relkind = 'v';  -- 视图

通过 pg_views 视图,数据库管理员和开发人员可以方便地获取和管理数据库中的各种视图信息,进行创建、修改、删除视图等管理任务。同时,结合其他系统视图,可以获取更加全面的视图及其相关信息,优化数据库管理,提高查询效率。

标签:PostgreSQL,views,视图,获取,pg,class,SELECT
From: https://blog.csdn.net/lee_vincent1/article/details/139636859

相关文章

  • FPGA/ZYNQ:膨胀与腐蚀
    一、简述膨胀和腐蚀是数学形态学处理中的两个基本操作,主要针对的是二值化图像。膨胀与腐蚀都是针对白色像素块而言的,简单的理解就是膨胀将白色区域扩大,腐蚀将白色区域缩小。二者功能主要包括:消除噪声;分割(isolate)出独立的图像元素,在图像中连接(join)相邻的元素;寻找图像中的明......
  • spark读取Kafka数据写入postgreSQL
    Java代码importorg.apache.spark.SparkConf;importorg.apache.spark.api.java.function.VoidFunction;importorg.apache.spark.streaming.api.java.JavaInputDStream;importorg.apache.spark.streaming.api.java.JavaStreamingContext;importorg.apache.spark.stream......
  • FPGA/ZYNQ:中值滤波
    一、简述滤波是图像处理领域应用非常广泛的工具之一,它可以改善图像质量,包括去除高频噪声与干扰、图像平滑等。我们常见的空间滤波有中值滤波和均值滤波。图像可以看成是一个定义在二维平面上的信号,该信号的幅值对应像素的灰度(彩色图像对应RGB三个分量)。图像的频率指的是空间频......
  • PostgreSQL教程
    PostgreSQL教程可以按照以下步骤进行,我将根据参考文章中的信息,以清晰、分点的方式进行归纳和总结:一、PostgreSQL简介PostgreSQL是一个功能强大的开源关系型数据库管理系统,基于C语言开发。它提供了丰富的特性和良好的性能,被广泛应用于各种应用场景中。二、PostgreSQL安装......
  • pg_index
    在pg11之后,引入了indnkeyatts字段,根据官方文档解释其作用:Thenumberofkeycolumnsintheindex,notcountinganyincludedcolumns,whicharemerelystoredanddonotparticipateintheindexsemantics。第一感觉,和indnatts字段差不多,但两者的说明存在差异。后者是参......
  • 中端 20 纳米 FPGA:10AX115N4F45E3LG、10AX115N2F45I2LG、10AX115N2F45I1SG、10AX115N1
    Arria®10器件系列包括高性能,低功耗的20nm中端FPGA和SoC。Arria®10器件系列实现了:比上一代中高端FPGA更高的性能。通过一套综合节能技术来降低功耗。Arria®10器件专为各领域中高性能、功耗敏感的中端应用而设计。Arria®10GX1150FPGA系列器件:10AX115H3F34E2LG10A......
  • pgAdmin未授权命令执行漏洞(CVE-2022-4223)
    ​https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v5.7/source/pgadmin4-5.7.tar.gz 下载pgadmin5.7的源码首先从代码层面进行分析接口 /validate_binary_path​最后调用了 subprocess.getoutput(​来执行了命令这一部分代码是对传入的路径进行检测,如果是在linu......
  • 关于计算核心先进性和稳定性的差异以及CPU/MCU/PLC/工控机/DSP/FPGA/PAC/SOC/GPU/NPU/
    各种名称的关系PLC分为组合式和一体式,整体上落后于个人商用主机主要使用梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)、结构化文本语言(ST)编程为什么PLC贵为什么PLC使用的处理器都比较低端?(比如低端赛扬甚至STM32)PLC无需进行多任务处理CPU越......
  • Day25.软件目录与视图层搭建
    1.软件目录与视图层搭建_ATM的目录结构2.软件目录与视图层搭建_程序入口start.py文件start.py代码如下:'''程序的入口'''importsysimportos#添加解释器的环境变量sys.path.append(os.path.dirname(__file__))fromcoreimportsrc#开始执行项目函数if......
  • pythonD盘JPG全部转成PDF
    importosfromPILimportImagefromreportlab.lib.pagesizesimportletterfromreportlab.pdfgenimportcanvasdefget_jpg_files(directory):"""获取指定目录下所有JPG文件的路径"""jpg_files=[os.path.join(directory,f)f......