如何開關資料庫告警日誌及修改日誌級別

瀚高PG實驗室發表於2021-11-17
文件用途

本文旨在介紹如何開啟和關閉資料庫告警日誌及修改日誌級別。

詳細資訊

先提供一份通用告警日誌引數設定:

開啟資料庫引數檔案$PGDATA/postgresql.auto.conf,在檔案末尾追加如下內容:

logging_collector = on

log_destination = 'csvlog'

log_directory = 'hgdb_log'

log_filename = 'highgodb_%d.log'

log_rotation_age = '1d'

log_rotation_size = 0

log_truncate_on_rotation = on

log_min_messages = 'WARNING'

log_statement = 'ddl'

然後重啟資料庫(確保非業務時段執行)。

pg_ctl restart 

這樣配置後,將會達到如下配置目標:

1.開啟資料庫告警日誌記錄;

2.產生的日誌檔案位於data目錄下的hgdb_log中;

3.日誌檔案格式為csv;

4.檔名以highgodb為字首;

5.日誌大小無上限,按日保留,迴圈覆蓋;

6.訊息級別在warning及以上的進行記錄,sql語句在error級別及以上的被記錄;

7.所有ddl語句被記錄。


一.開啟和關閉資料庫告警日誌的方法

1.查詢資料庫告警日誌是否開啟

連線資料庫執行show logging_collector;

返回結果是on則代表開啟。off代表關閉。

2.開啟資料庫告警日誌方法

開啟資料庫引數檔案$PGDATA/postgresql.auto.conf,在檔案末尾追加如下內容:

logging_collector = on

log_directory = 'hgdb_log'

然後重啟資料庫(確保非業務時段執行)。

pg_ctl restart 

3.關閉資料庫告警日誌方法

開啟資料庫引數檔案 $PGDATA/postgresql.auto.conf,在檔案末尾追加如下內容:

logg ing_collector = off


然後重啟資料庫(確保非業務時段執行)。

pg_ctl restart 


二.修改告警日誌級別

1.查詢告警日誌級別

連線資料庫執行

show log_min_messages;

show log_statement;

2.修改告警日誌級別

2.1 log_min_messages

控制哪些訊息級別被寫入到伺服器日誌。有效值是DEBUG5、DEBUG4、DEBUG3、DEBUG2、DEBUG1、INFO、NOTICE、WARNING、ERROR、LOG、FATAL和 PANIC。每個級別都包括其後的所有級別。級別越靠後,被記錄的訊息越少。

級別介紹:

DEBUG1..DEBUG5:極端情況下提供連續的更詳細的資訊。

INFO:提供使用者隱式要求的資訊,例如來自VACUUM VERBOSE的輸出。

NOTICE:提供可能對使用者有用的資訊,例如長識別符號截斷提示。

WARNING:提供可能出現的問題的警告,例如在一個事務塊外COMMIT。

ERROR:報告一個導致當前命令中斷的錯誤。

LOG:報告管理員一般需要的資訊,例如檢查點活動。

FATAL:報告一個導致當前會話中斷的錯誤。

PANIC:報告一個導致所有資料庫會話中斷的錯誤。

2.2 log_statement

控制哪些SQL語句被記錄。有效值是none(off)、ddl、mod和all(所有語句)。ddl記錄所有資料定義語句,例如CREATE、ALTER和 DROP語句。mod記錄所有ddl語句,外加資料修改語句例如INSERT, UPDATE、DELETE、TRUNCATE, 和COPY FROM。all記錄包括select在內的所有語句。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994931/viewspace-2842664/,如需轉載,請註明出處,否則將追究法律責任。

相關文章