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可以開啓。