gp日志查看


筆記:之前登錄master節點看pg_log目錄下的文件,后面每次這樣看感覺挺不方便的,查了一下文檔

select ma.logtime at time zone 'CST' as logtime,ma.loguser,ma.logpid,ma.loghost,ma.logstate,ma.logmessage,ma.logdetail from gp_toolkit.gp_log_database ma order by logtime desc limit 200;

這個就是查的pg_log下的日志文件,只是是外部表形式,所以性能有一些差,只要定時切割pg_log下面的文件就行,還有一個視圖 gp_toolkit.gp_log_system, 它與 gp_toolkit.gp_log_database 區別是一個是all,一個是current_database。

表空間間隙查看方法(膨脹):

select * from gp_toolkit.gp_log_database;

表空間間隙收縮方法:

#!/bin/bash
DBNAME="<database_name>"
SYSTABLES="' pg_catalog.' || relname || ';' from pg_class a, pg_namespace b \
where a.relnamespace=b.oid and b.nspname='pg_catalog' and a.relkind='r'"
psql -tc "SELECT 'VACUUM' || $SYSTABLES" $DBNAME | psql -a $DBNAME
reindexdb -s -d $DBNAME
analyzedb -s pg_catalog -d $DBNAME

查鎖情況:

SELECT least(query_start,xact_start) + '8 hour' start_time
             ,pg_locks.pid
             , pg_database.datname
             , pg_stat_activity.usename
             , locktype
             , mode
             , pg_stat_activity.application_name
             , state
             , CASE WHEN granted='f' THEN 'wait_lock' WHEN granted='t' THEN 'get_lock' END lock_satus
             , pg_stat_activity.query
             , count(*)::float
          FROM pg_locks
          JOIN pg_database ON pg_locks.database=pg_database.oid
          JOIN pg_stat_activity on pg_locks.pid=pg_stat_activity.pid
        WHERE NOT pg_locks.pid=pg_backend_pid()
        AND pg_stat_activity.application_name<>'pg_statsinfod'
        GROUP BY pg_locks.pid, pg_database.datname,pg_stat_activity.usename, locktype, mode,
        pg_stat_activity.application_name, state , lock_satus ,pg_stat_activity.query, start_time
        ORDER BY 2 desc;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM