GaussDB系统视图归纳总结及常用运维SQL

文章目录

一、GaussDB系统视图归纳总结

GaussDB 是华为基于开源数据库PostgreSQL开发的商业数据库,在兼容oracle和mysql上做出了不少努力,GaussDB的系统视图对标Oracle,有以下对应关系:

oracle系统视图 对应GaussDB系统视图 含义
DBA_* ADM_* DBA拥有或可访问的所有对象
ALL_* DB_* 某用户拥有或可访问的所有对象
USER_* MY_* 某用户拥有的所有对象

以及GaussDB 自己定义的gs_*系统表和视图

因为以上原因,常用运维SQL涉及GaussDB自己的系统视图和pg的系统表和对标oracle的系统视图(缝合怪?)。

序号 系统视图
1 my_tables
2 adm_tab_columns
3 my_indexes
4 pg_partition
5 information_schema.table_privileges
6 adm_indexes
7 pg_class
8 pg_proc
9 gs_package
10 pg_stat_activity
11 pg_lock_status
12 pg_locks
13 pg_query_audit
14 pg_setting
15 pg_database

二、常用运维SQL

其实很多运维功能在管理平台都可以获取,但我们可以通过这些运维sql了解管理平台获取这些信息的原理。

sql 复制代码
统计表数量和表数据量
select count(*) ,num_rows from my_tables where owner ='XXX';
查询表字段
select * from adm_tab_columns where owner='XXX' and table_name ='balabala';
查看表字段数量
select table_name,count(1) from adm_tab_columns where table_name='XXX';
查询表定义
select pg_get_tabledef('XXX');
查询视图定义
select pg_get_viewdef('XXX');
查询分区表
select partstrategy,count(1) from pg_partition group by 1;
查询表权限
select * from information_schema.table_privileges where grantee ='XXX' and grantor <> 'XXX';
查询表索引
select count(*),* from adm_indexes where owner ='';
查询索引定义
select pg_get_indexdef(oid) from pg_class where relname ='XXX';
查询序列数量
select count(*) from pg_class where relkind ='S' or relkind ='L';
查询函数数量
select count(*) from pg_proc where prokind='f';
查询存储过程数量
select count(*) from pg_proc where prokind ='p';
查询函数、存储过程定义
select pg_get_functiondef(oid) from pg_proc where proname='XXX' and pronamespace =(select oid from pg_namespace where nspname='');
查询package数量
select count(*) from gs_package where pkgowner=(select oid from pg_authid where relname='XXX');
查询package定义
select 'CREATE OR REPLACE PACKAGE'||pkgname||'AS --'||pkgspecsrc||''||pkgname||';' from gs_package where pkgname='XXX';
查看活跃会话
select pid,substr(query,1,100),query_start,sysdate-query_start as runtime,application_name from pg_stat_activity where state='active' and usename=current_user;
终止会话
select pg_terminate_backend(pid);
死锁查询
select pid,query from pg_stat_activity where datname='XXX' and query like '%drop %';
select pid,query from pg_stat_activity where pid in (select distinct pid from pg_lock_status() where relation on (select relation from pg_locks where pid='XXXXXXXXXXX' and relation is not null)
查看审计日志
select * from pg_query_audit('2024-06-12 10:00:00','2024-6-12 11:00:00') where username='root' and database ='XXX';
查看数据库大小
select datname,pg_database_size(datname)/1024/1024/1024 from pg_database;
查询guc参数
select name,setting from pg_setting order by name;
查询逻辑复制槽相关内容
select * from pg_relplicatio_slots where slot_type ='logical';
查询内存
select contextname,sum(totalsize)/1024/1024/ sum,count(*) from gs_session_memory_context group by contextname order by sum desc limit 20;
select * from gs_total_memory_detail;
相关推荐
翼龙云_cloud34 分钟前
阿里云国际渠道代理商:如何在ECS上部署Flask应用?
运维·数据库·阿里云·flask·云计算
GGG7661 小时前
Python 运维自动化:psutil+IPy 系统与网络信息采集深度实战
运维·python·云原生·pip
可乐鸡翅yeah_1 小时前
个人 / 外包流媒体项目交付实战,M3U8 验收与问题闭环完整工作流
运维·网络·python·低代码·django·m3u8·在线播放
山峰哥1 小时前
数据库工程与查询优化案例深度复盘‌
数据库·sql·oracle·编辑器·深度优先·宽度优先
St_rive2 小时前
移动端自动化环境搭建与准备
运维·自动化
INNOVIX稳石机器人2 小时前
稳石500强实战验证:从人工仓储迈向AI自主智造,给出仓储自动化升级标准答案
运维·人工智能·自动化
飞飞传输2 小时前
国产化 MOVEit 替代:文件传输架构与安全能力深度解读
大数据·运维·安全
聪明蛋子哟3 小时前
浏览器自动化的“持久身份”:多会话认证与Agent技能的无缝集成实践
运维·自动化
千百元3 小时前
ngrok 内网穿透TCP
运维
会周易的程序员3 小时前
企业私有 AI 算力服务器架构设计:异构四节点 + QUIC 微服务
运维·服务器·c++·人工智能·微服务·架构