PostgreSQL中怎么在pg_locks和pg_stat_activity两张基表基础上创建的视图
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这篇文章主要介绍"PostgreSQL中怎么在pg_locks和pg_stat_activity两张基表基础上创建的视图",在日常操作中,相信很多人在PostgreSQL中怎么在pg_locks和pg
千家信息网最后更新 2025年02月23日PostgreSQL中怎么在pg_locks和pg_stat_activity两张基表基础上创建的视图
这篇文章主要介绍"PostgreSQL中怎么在pg_locks和pg_stat_activity两张基表基础上创建的视图",在日常操作中,相信很多人在PostgreSQL中怎么在pg_locks和pg_stat_activity两张基表基础上创建的视图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"PostgreSQL中怎么在pg_locks和pg_stat_activity两张基表基础上创建的视图"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
显示阻塞信息的视图:
CREATE OR REPLACE VIEW vw_lockinfoASSELECT blocked_locks.pid AS blocked_pid, blocked_activity.usename AS blocked_user, blocking_locks.pid AS blocking_pid, blocking_activity.usename AS blocking_user, blocked_activity.query AS blocked_statement, blocking_activity.query AS current_statement_in_blocking_process FROM pg_catalog.pg_locks blocked_locks JOIN pg_catalog.pg_stat_activity blocked_activity ON blocked_activity.pid = blocked_locks.pid JOIN pg_catalog.pg_locks blocking_locks ON blocking_locks.locktype = blocked_locks.locktype AND blocking_locks.DATABASE IS NOT DISTINCT FROM blocked_locks.DATABASE AND blocking_locks.relation IS NOT DISTINCT FROM blocked_locks.relation AND blocking_locks.page IS NOT DISTINCT FROM blocked_locks.page AND blocking_locks.tuple IS NOT DISTINCT FROM blocked_locks.tuple AND blocking_locks.virtualxid IS NOT DISTINCT FROM blocked_locks.virtualxid AND blocking_locks.transactionid IS NOT DISTINCT FROM blocked_locks.transactionid AND blocking_locks.classid IS NOT DISTINCT FROM blocked_locks.classid AND blocking_locks.objid IS NOT DISTINCT FROM blocked_locks.objid AND blocking_locks.objsubid IS NOT DISTINCT FROM blocked_locks.objsubid AND blocking_locks.pid != blocked_locks.pid JOIN pg_catalog.pg_stat_activity blocking_activity ON blocking_activity.pid = blocking_locks.pid WHERE NOT blocked_locks.GRANTED;[local]:5432 pg12@testdb=# CREATE OR REPLACE VIEW vw_lockinfopg12@testdb-# ASpg12@testdb-# SELECT blocked_locks.pid AS blocked_pid,pg12@testdb-# blocked_activity.usename AS blocked_user,pg12@testdb-# blocking_locks.pid AS blocking_pid,pg12@testdb-# blocking_activity.usename AS blocking_user,pg12@testdb-# blocked_activity.query AS blocked_statement,pg12@testdb-# blocking_activity.query AS current_statement_in_blocking_processpg12@testdb-# FROM pg_catalog.pg_locks blocked_lockspg12@testdb-# JOIN pg_catalog.pg_stat_activity blocked_activity ON blocked_activity.pid = blocked_locks.pidpg12@testdb-# JOIN pg_catalog.pg_locks blocking_locks pg12@testdb-# ON blocking_locks.locktype = blocked_locks.locktypepg12@testdb-# AND blocking_locks.DATABASE IS NOT DISTINCT FROM blocked_locks.DATABASEpg12@testdb-# AND blocking_locks.relation IS NOT DISTINCT FROM blocked_locks.relationpg12@testdb-# AND blocking_locks.page IS NOT DISTINCT FROM blocked_locks.pagepg12@testdb-# AND blocking_locks.tuple IS NOT DISTINCT FROM blocked_locks.tuplepg12@testdb-# AND blocking_locks.virtualxid IS NOT DISTINCT FROM blocked_locks.virtualxidpg12@testdb-# AND blocking_locks.transactionid IS NOT DISTINCT FROM blocked_locks.transactionidpg12@testdb-# AND blocking_locks.classid IS NOT DISTINCT FROM blocked_locks.classidpg12@testdb-# AND blocking_locks.objid IS NOT DISTINCT FROM blocked_locks.objidpg12@testdb-# AND blocking_locks.objsubid IS NOT DISTINCT FROM blocked_locks.objsubidpg12@testdb-# AND blocking_locks.pid != blocked_locks.pidpg12@testdb-# pg12@testdb-# JOIN pg_catalog.pg_stat_activity blocking_activity ON blocking_activity.pid = blocking_locks.pidpg12@testdb-# WHERE NOT blocked_locks.GRANTED;CREATE VIEWTime: 131.424 ms[local]:5432 pg12@testdb=# select * from vw_lockinfo;-[ RECORD 1 ]-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------blocked_pid | 2184blocked_user | pg12blocking_pid | 2863blocking_user | pg12blocked_statement | update t_lock set id = 1000 where id = 1;current_statement_in_blocking_process | select pid,locktype,relation::regclass,mode,page,tuple,virtualxid,transactionid,virtualtransaction,granted,fastpath from pg_locks where relation='t_lock'::regclass;Time: 21.032 ms
显示带有时间属性的locks
CREATE OR REPLACE VIEW vw_lockinfo_timeASSELECT a.datname, l.relation::regclass, l.transactionid, l.mode, l.GRANTED, a.usename, a.query, a.query_start, age(now(), a.query_start) AS "age", a.pidFROM pg_stat_activity aJOIN pg_locks l ON l.pid = a.pidORDER BY a.query_start;[local]:5432 pg12@testdb=# CREATE OR REPLACE VIEW vw_lockinfo_timepg12@testdb-# ASpg12@testdb-# SELECT a.datname,pg12@testdb-# l.relation::regclass,pg12@testdb-# l.transactionid,pg12@testdb-# l.mode,pg12@testdb-# l.GRANTED,pg12@testdb-# a.usename,pg12@testdb-# a.query,pg12@testdb-# a.query_start,pg12@testdb-# age(now(), a.query_start) AS "age",pg12@testdb-# a.pidpg12@testdb-# FROM pg_stat_activity apg12@testdb-# JOIN pg_locks l ON l.pid = a.pidpg12@testdb-# ORDER BY a.query_start;CREATE VIEWTime: 17.799 ms[local]:5432 pg12@testdb=# select * from vw_lockinfo_time;-[ RECORD 1 ]-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------datname | testdbrelation | t_locktransactionid | mode | RowExclusiveLockgranted | tusename | pg12query | select pid,locktype,relation::regclass,mode,page,tuple,virtualxid,transactionid,virtualtransaction,granted,fastpath from pg_locks where relation='t_lock'::regclass;query_start | 2019-08-13 15:32:23.139886+08age | 00:11:29.095421pid | 2863...
到此,关于"PostgreSQL中怎么在pg_locks和pg_stat_activity两张基表基础上创建的视图"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
视图
基础
学习
更多
帮助
实用
接下来
信息
属性
文章
方法
时间
理论
知识
篇文章
网站
资料
跟着
问题
好用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
英灵神殿优秀的服务器
无线网络安全技术微课
北京曙光服务器维修维保多少钱
上市网络安全公司
银川公安局网络安全大队
计算机网络安全服务资质
学网页设计好还是软件开发好
美国 网络安全法 全文
用服务器cpu有什么缺点
网络安全保障的安全所示包括
华为不安全连接到服务器
大数据环境下网络安全问题
怎样在数据库表中加入数据
间谍软件是目前网络安全的
数据库技术与应用叶明全
方舟生存进化买服务器
杭州神车网络技术有限公司
网络安全教程3
加强网络安全意识活动意义
天天象棋连线软件开发
郑州大学网络安全考研参考书目
滨州市歪范网络技术有限公司
贵州广东网络安全培训哪里学
星洛斗罗服务器下载
信息系统与数据库技术尔雅课
数据库中的表保存在哪
电脑服务器中断连接
数据库 url 报错
服务器管理接口是来做什么的
面试数据库视频讲解