日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Postgresql 日志收集

發布時間:2023/11/27 生活经验 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Postgresql 日志收集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PG安裝完成后默認不會記錄日志,必須修改對應的(${PGDATA}/postgresql.conf)配置才可以,這里只介紹常用的日志配置。

1.logging_collector = on/off ---- 是否將日志重定向至文件中,默認是off(該配置修改后,需要重啟DB服務)

?

ps -ef | grep postgres
postgres 26167 1 1 09:55 ? 00:00:00 /usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.5/main -c config_file=/etc/postgresql/9.5/main/postgresql.conf
postgres 26169 26167 0 09:55 ? 00:00:00 postgres: checkpointer process 
postgres 26170 26167 0 09:55 ? 00:00:00 postgres: writer process 
postgres 26171 26167 0 09:55 ? 00:00:00 postgres: wal writer process 
postgres 26172 26167 0 09:55 ? 00:00:00 postgres: autovacuum launcher process 
postgres 26173 26167 0 09:55 ? 00:00:00 postgres: stats collector proces

?開啟后

ps -ef | grep postgres
postgres 25943 1 0 09:48 ? 00:00:00 /usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.5/main -c config_file=/etc/postgresql/9.5/main/postgresql.conf
postgres 25944 25943 0 09:48 ? 00:00:00 postgres: logger process 
postgres 25946 25943 0 09:48 ? 00:00:00 postgres: checkpointer process 
postgres 25947 25943 0 09:48 ? 00:00:00 postgres: writer process 
postgres 25948 25943 0 09:48 ? 00:00:00 postgres: wal writer process 
postgres 25949 25943 0 09:48 ? 00:00:00 postgres: autovacuum launcher process 
postgres 25950 25943 0 09:48 ? 00:00:00 postgres: stats collector process

?

2.log_directory = 'pg_log' ---- 日志文件目錄,默認是PGDATA的相對路徑,即PGDATA的相對路徑,即{PGDATA}/pg_log,也可以改為絕對路徑

默認為${PGDATA}/pg_log,即集群目錄下,但是日志文件可能會非常多,建議將日志重定向到其他目錄或分區。

將此配置修改為/var/log/pg_log下,必須先創建此目錄,并修改權限,如

[root@localhost ~]# mkdir -p /var/log/pg_log
[root@localhost ~]# chown postgres:postgres /var/log/pg_log/
[root@localhost ~]# chmod 700 /var/log/pg_log/

重啟DB服務后,日志將重定向至/var/log/pg_log下

3.log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' ---- 日志文件命名形式,使用默認即可

4. log_rotation_age = 1d ---- 單個日志文件的生存期,默認1天,在日志文件大小沒有達到log_rotation_size時,一天只生成一個日志文件

5. log_rotation_size = 10MB ---- 單個日志文件的大小,如果時間沒有超過log_rotation_age,一個日志文件最大只能到10M,否則將新生成一個日志文件。

6.log_truncate_on_rotation = off ---- 當日志文件已存在時,該配置如果為off,新生成的日志將在文件尾部追加,如果為on,則會覆蓋原來的日志。

7.log_lock_waits = off ---- 控制當一個會話等待時間超過deadlock_timeout而被鎖時是否產生一個日志信息。在判斷一個鎖等待是否會影響性能時是有用的,缺省是off。

8.log_statement = 'none' # none, ddl, mod, all ---- 控制記錄哪些SQL語句。none不記錄,ddl記錄所有數據定義命令,比如CREATE,ALTER,和DROP 語句。mod記錄所有ddl語句,加上數據修改語句INSERT,UPDATE等,all記錄所有執行的語句,將此配置設置為all可跟蹤整個數據庫執行的SQL語句。

9.log_duration = off ---- 記錄每條SQL語句執行完成消耗的時間,將此配置設置為on,用于統計哪些SQL語句耗時較長。

10.log_min_duration_statement = -1 # -1 is disabled, 0 logs all statements and their durations, > 0 logs only statements running at least this number of milliseconds

-1表示不可用,0將記錄所有SQL語句和它們的耗時,>0只記錄那些耗時超過(或等于)這個值(ms)的SQL語句。個人更喜歡使用該配置來跟蹤那些耗時較長,可能存在性能問題的SQL語句。雖然使用log_statement和log_duration也能夠統計SQL語句及耗時,但是SQL語句和耗時統計結果可能相差很多行,或在不同的文件中,但是log_min_duration_statement會將SQL語句和耗時在同一行記錄,更方便閱讀。

11.log_connections = off ----是否記錄連接日志

12.log_disconnections = off ---- 是否記錄連接斷開日志

13.log_line_prefix = '%m %p %u %d %r ' ---- 日志輸出格式(%m,%p實際意義配置文件中有解釋),可根據自己需要設置(能夠記錄時間,用戶名稱,數據庫名稱,客戶端IP和端口,方便定位問題)

?

14.log_timezone = 'Asia/Shanghai' ---- 日志時區,最好和服務器設置同一個時區,方便問題定位

服務器時區設置

[root@localhost ~]# cp -rf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

轉載于:https://www.cnblogs.com/zhangeamon/p/7590622.html

總結

以上是生活随笔為你收集整理的Postgresql 日志收集的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。