PostgreSQL中怎么在pg_locks和pg_stat_activity两张基表基础上创建的视图
发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,这篇文章主要介绍"PostgreSQL中怎么在pg_locks和pg_stat_activity两张基表基础上创建的视图",在日常操作中,相信很多人在PostgreSQL中怎么在pg_locks和pg
千家信息网最后更新 2024年12月13日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安全错误
数据库的锁怎样保障安全
VF数据库文件的扩展名什么
网络技术 公司 武汉
鲍杰利 网络安全
剑灵总是服务器断开
sql 语句链接服务器
网络安全单项选择考试题
上海工商银行软件开发中心宣讲会
怎么给数据库插入数据
仙桃专业的软件开发方案
mysql数据库输出什么
最高检案例数据库
冲上云霄网络安全吗
tp连接数据库文件
厦门理工学院网络安全试卷
代码中数据库服务器名字
大数据跟 数据库的区别
太原市天气预报软件开发
安盟网络安全
游戏哪些数据是放在服务器的
cog网络安全峰会
宁畅服务器哪个最好
云服务器 管理员被停用
智联网络技术
讯图网络技术有限公司怎么样
江苏电商软件开发代理品牌
销售软件开发外包
数据库如何删除编号记录
逆战在哪个服务器可以玩
天龙八部游戏服务器进不去怎么办
视图结果是否存在数据库中