1.原因分析
greenplum叢集master節點産生日志過大原因:greenplum資料庫,由于所有的使用者請求,都要經過master節點,并且預設情況下master節點會把CREATE,ALTER,DROP ,INSERT,UPDATE,DELETE,TRUNCATE和COPY FROM等操作詳細日志資訊記錄在$MASTER_DATA_DIRECTORY/pg_log目錄下,并且日志級别也較低,對于greenplum并發量比較大的情況下,會産生非常大的日志資訊,浪費系統資源。
2.解決方法
修改master節點配置資訊,在$MASTER_DATA_DIRECTORY/postgresql.conf中:
#控制記錄那些SQL語句應該記錄,ddl表示隻記錄CREATE,ALTER,和 DROP等指令,預設為all,表示insert、update、delete、truncate和copy from等都會記錄
log_statement='ddl'
#控制那些消息級别寫入伺服器日志。每個級别包括跟随它(它之後)的所有級别,級别越靠後,記錄的日志消息越少。主要包括:DEBUG1、INFO、NOTICE、WARNING、LOG、ERROR、FATAL、PANIC這些級别
log_min_messages='panic'
3.greenplum其它日志配置說明
- log_rotation_age:确定單個日志檔案的最長生命周期,在這段時間之後,将建立一個新的日志檔案。設定為0以禁用基于時間的日志檔案的建立。取值為任何有效的時間表達式 (數字和機關),預設1d,表示一天。
- log_rotation_size:确定單個日志檔案的最大大小。當檔案達到指定大小後将建立一個新的日志檔案。設定為0以禁用基于大小的新的日志檔案的建立。該值預設為0。
- log_statement_stats:對于每個查詢,将查詢解析器,計劃程式和執行程式的總體性能統計資訊寫入伺服器日志。該值為Boolean類型,預設為off,可以用on開啟。
- log_truncate_on_rotation:清空(覆寫)。如果檔案已經存在,則會覆寫,預設off,on可以開啟。