1. 常见运维SQL命令
• 常用运维SQL:实例、库、会话、Schema、表、用户、权限、锁、资源队列、存储配额、落盘文件。
• 常用运维命令:实例、节点、参数。
常用运维SQL命令说明:
• 在每个节点运行now()函数,正常返回则表明所有节点运行正常。
select now() from gp_dist random('gp_id'); |
• 查看状态不为idle的会话和会话运行SQL,按开始时间排序,该输出包含进程号,会话号执行用户,客户端IP,开始时间,当前状态,是否在等待等信息。
Select * from pg_stat_activity where query!='<IDLE>' and pid!=pg_backend_pid() and state!='idle' order by query_start asc; |
• 取消或结束运行中的SQL,优先执行cancel,若无法取消,则执行terminate。
select pg_cancel_backend(<PID>); select pg_terminate_backend(<PID>); |
• 查看所有segment节点。
select * from gp_segment_configuration; |
• 查看down的segment节点。
select * from gp_segment_configuration where status ='d'; |
• 查看不平衡的segment节点。
select * from gp_segment_configuration where role !=preferred role; |
• 查看所有segment节点的历史状态变更信息。
select * from gp_configuration_history; |
• 查看所有数据库的大小。
select datname, pg_size_pretty(pg_database_size(datname)) from pg_catalog.pg_database; |
• 查看指定数据库的大小。
select pg_size_pretty(pg_database_size("yinc2")); |
• 查看指定schema下所有表。
select table_name from information_schema.tables where table_schema = 'myschema'; |
• 查看指定schema下表大小(由大到下排序)。
select table_name, pg_total_relation_size(quote_ident(table_name)) from information_schema.tables where table_schema='myschema' order by 2 desc limit 5; |
• 非分区表
select pg_size_pretty(pg_relation_size("public.t1')); |
• 分区表
查看指定表大小。
select pg_size_pretty(pg_total_relation_size("public.t1")); |
• 查看指定表public.b的oid。
select oid from pg_class where relname='b' and relnamespace in (select oid from pg_namespace where nspname='public'); |
• 查看指定表public.table_name的操作记录。
select * from pg_stat_last_operation where objid = 'public.table_name'::regclass::oid order by statime; |