greenplum常用的gp_toolkit監控語句
目錄
gp_toolkit 說明 1、表膨脹相關查詢 2、表傾斜的相關信息 3、鎖查詢相關的信息 4、日誌查詢相關的信息 5、資源隊列相關查詢信息 6、查看磁盤上(database,schema,table,indexs,view)等的佔用大小的相關信息 7、用戶使用的工作空間大小信息 8、查看用戶創建的信息(數據庫,schema,表,索引,函數,視圖)等信息 9、系統中維護的ID信息 10、系統查用的查詢信息 11、系統中常用查詢的函數
gp_toolkit 說明
Greenplum數據庫提供了一個名為gp_tooikit的管理schema,該schema下有關於查詢系統目錄,日誌文件, 用戶創建(databases,schema,table,indexs,view,function)等信息,也可以查詢資源隊列,表的膨脹表,表的傾斜, 系統自己維護的ID等的相關信息。注意不要在該schema下創建任何對象,否則會影響系統對元數據維護的錯誤問題, 同時再使用gpcrondump和gpdbrestore程序進行備份和恢複數據時,之前維護的元數據會發生更改。
1、表膨脹相關查詢
-- 該視圖顯示了那些膨脹的(在磁盤上實際的頁數超過了根據表統計信息得到預期的頁數)正規的堆存儲的表。 select * from gp_toolkit.gp_bloat_diag; -- 所有對象的膨脹明細 select * from gp_toolkit.gp_bloat_expected_pages;
2、表傾斜的相關信息
-- 該視圖通過計算存儲在每個Segment上的數據的變異係數(CV)來顯示數據分佈傾斜。 select * from gp_toolkit.gp_skew_coefficients; -- 該視圖通過計算在表掃描過程中系統空閑的百分比來顯示數據分佈傾斜,這是一種數據處理傾斜的指示器。 select * from gp_toolkit.gp_skew_idle_fractions;
3、鎖查詢相關的信息
-- 該視圖顯示了當前所有表上持有鎖,以及查詢關聯的鎖的相關聯的會話信息。 select * from gp_toolkit.gp_locks_on_relation; -- 該視圖顯示當前被一個資源隊列持有的所有的鎖,以及查詢關聯的鎖的相關聯的會話信息。 select * from gp_toolkit.gp_locks_on_resqueue;
4、日誌查詢相關的信息
-- 該視圖使用一個外部表來讀取來自整個Greenplum(Master、Segment、鏡像)的服務器日誌文件並且列出所有的日誌項。 select * from gp_toolkit.gp_log_system; -- 該視圖用一個外部表來讀取在主機上的日誌文件同時報告在數據庫會話中SQL命令的執行時間 select * from gp_toolkit.gp_log_command_timings; -- 該視圖使用一個外部表來讀取整個Greenplum系統(主機,段,鏡像)的服務器日誌文件和列出與當前數據庫關聯的日誌的入口。 select * from gp_toolkit.gp_log_database; -- 該視圖使用一個外部表讀取來自Master日誌文件中日誌域的一個子集。 select * from gp_toolkit.gp_log_master_concise;
5、資源隊列相關查詢信息
-- gp_toolkit.gp_resgroup_config視圖允許管理員查看資源組的當前CPU、內存和並發限制 select * from gp_toolkit.gp_resgroup_config; -- gp_toolkit.gp_resgroup_status視圖允許管理員查看資源組的狀態和活動 select * from gp_toolkit.gp_resgroup_status; -- 該視圖允許管理員查看到一個負載管理資源隊列的狀態和活動。 select * from gp_toolkit.gp_resqueue_status; -- 對於那些有活動負載的資源隊列,該視圖為每一個通過資源隊列提交的活動語句顯示一行。 select * from gp_toolkit.gp_resq_activity; -- 對於有活動負載的資源隊列,該視圖顯示了隊列活動的總覽。 select * from gp_toolkit.gp_resq_activity_by_queue; -- 資源隊列的執行優先級 select * from gp_toolkit.gp_resq_priority_backend; -- 該視圖為當前運行在Greenplum數據庫系統上的所有語句顯示資源隊列優先級、會話ID以及其他信息 select * from gp_toolkit.gp_resq_priority_statement; -- 該視圖顯示與角色相關的資源隊列。 select * from gp_toolkit.gp_resq_role;
6、查看磁盤上(database,schema,table,indexs,view)等的佔用大小的相關信息
-- 外部表在活動Segment主機上運行df(磁盤空閑)並且報告返回的結果 select * from gp_toolkit.gp_disk_free; -- 該視圖顯示數據庫的總大小。 select * from gp_toolkit.gp_size_of_database; -- 該視圖顯示當前數據庫中schema在數據中的大小 select * from gp_toolkit.gp_size_of_schema_disk; -- 該視圖顯示一個表在磁盤上的大小。 select * from gp_toolkit.gp_size_of_table_disk; -- 該視圖查看錶的索引 select * from gp_toolkit.gp_table_indexes; -- 該視圖顯示了一個表上所有索引的總大小。 select * from gp_toolkit.gp_size_of_all_table_indexes; -- 該視圖顯示分區子表及其索引在磁盤上的大小。 select * from gp_toolkit.gp_size_of_partition_and_indexes_disk; -- 該視圖顯示錶及其索引在磁盤上的大小。 select * from gp_toolkit.gp_size_of_table_and_indexes_disk; -- 該視圖顯示錶及其索引的總大小 select * from gp_toolkit.gp_size_of_table_and_indexes_licensing; -- 該視圖顯示追加優化(AO)表沒有壓縮時的大小。 select * from gp_toolkit.gp_size_of_table_uncompressed;
7、用戶使用的工作空間大小信息
-- 該視圖為當前在Segment上使用磁盤空間作為工作文件的操作符包含一行。 select * from gp_toolkit.gp_workfile_entries; -- GP工作文件管理器使用的磁盤空間 select * from gp_toolkit.gp_workfile_mgr_used_diskspace; -- 每個查詢的GP工作文件使用情況 select * from gp_toolkit.gp_workfile_usage_per_query; -- 每個segment在GP工作文件中的使用量 select * from gp_toolkit.gp_workfile_usage_per_segment;
8、查看用戶創建的信息(數據庫,schema,表,索引,函數,視圖)等信息
-- gp 中所有的名字(索引、表、視圖、函數)等的名字 select * from gp_toolkit."__gp_fullname"; -- gp 中AO表的名字 select * from gp_toolkit."__gp_is_append_only"; -- gp 中segment的個數 select * from gp_toolkit."__gp_number_of_segments"; -- gp 中用戶表的個數 select * from gp_toolkit."__gp_user_data_tables"; -- GP用戶數據表可讀 select * from gp_toolkit."__gp_user_data_tables_readable"; -- 用戶自己創建的schema信息 select * from gp_toolkit."__gp_user_namespaces"; -- 用戶自己創建的表信息 select * from gp_toolkit."__gp_user_tables";
9、系統中維護的ID信息
-- gp 本地維護的ID select * from gp_toolkit."__gp_localid"; -- gp master外部的log信息 select * from gp_toolkit."__gp_log_master_ext"; -- gp segment外部的log信息 select * from gp_toolkit."__gp_log_segment_ext"; -- gp master 的id信息 select * from gp_toolkit."__gp_masterid";
10、系統查用的查詢信息
-- 該視圖顯示那些沒有統計信息的表,因此可能需要在表上執行ANALYZE命令。 select * from gp_toolkit.gp_stats_missing; -- 該視圖顯示系統目錄中被標記為down的Segment的信息。 select * from gp_toolkit.gp_pgdatabase_invalid; -- 那些被分類為本地(local)(表示每個Segment從其自己的postgresql.conf文件中獲取參數值)的服務器配置參數,應該在所有Segment上做相同的設置。 select * from gp_toolkit.gp_param_settings_seg_value_diffs; -- 該視圖顯示系統中所有的角色以及指派給它們的成員(如果該角色同時也是一個組角色)。 select * from gp_toolkit.gp_roles_assigned;
11、系統中常用查詢的函數
select * from gp_toolkit.gp_param_settings(); select * from gp_toolkit.gp_skew_details(oid); select * from gp_toolkit."__gp_aocsseg"(IN oid); select * from gp_toolkit."__gp_aovisimap"(IN oid); select * from gp_toolkit.gp_param_setting(varchar); select * from gp_toolkit."__gp_skew_coefficients"(); select * from gp_toolkit."__gp_workfile_entries_f"(); select * from gp_toolkit."__gp_skew_idle_fractions"(); select * from gp_toolkit."__gp_aocsseg_name"(IN text); select * from gp_toolkit."__gp_aovisimap_name"(IN text); select * from gp_toolkit."__gp_aocsseg_history"(IN oid); select * from gp_toolkit."__gp_aovisimap_entry"(IN oid); select * from gp_toolkit."__gp_aovisimap_hidden_typed"(oid); select * from gp_toolkit."__gp_param_local_setting"(varchar); select * from gp_toolkit."__gp_aovisimap_entry_name"(IN text); select * from gp_toolkit."__gp_aovisimap_hidden_info"(IN oid); select * from gp_toolkit."__gp_workfile_mgr_used_diskspace_f"(); select * from gp_toolkit."__gp_aovisimap_hidden_info_name"(IN text); select * from gp_toolkit.gp_skew_coefficient(IN targetoid oid, OUT skcoid oid, OUT skccoeff numeric); select * from gp_toolkit.gp_skew_idle_fraction(IN targetoid oid, OUT sifoid oid, OUT siffraction numeric); select * from gp_toolkit.gp_bloat_diag(IN btdrelpages int4, IN btdexppages numeric, IN aotable bool, OUT bltidx int4, OUT bltdiag text); select * from gp_toolkit."__gp_aovisimap_compaction_info"(IN ao_oid oid, OUT content int4, OUT datafile int4, OUT compaction_possible bool, OUT hidden_tupcount int8, OUT total_tupcount int8, OUT percent_hidden numeric);