欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

postgresql開啟pg_log日志詳細步驟及參數(shù)說明

 更新時間:2024年02月06日 10:40:44   作者:海底列車  
pg_log日志要啟動保存的話需要去設置一下相關(guān)的配置文件參數(shù)就好了,下面這篇文章主要給大家介紹了關(guān)于postgresql開啟pg_log日志詳細步驟及參數(shù)說明的相關(guān)資料,需要的朋友可以參考下

一、概述:postgresql的運行日志默認是不開啟的,如果要查詢?nèi)罩拘枰謩娱_啟。

二、修改配置文件,開啟運行日志:

vim postgresql.conf

log_destination = ‘csvlog'
logging_collector = on
log_directory = ‘pg_log'
log_filename = ‘postgresql-%Y-%m-%d_%H%M%S.log'
log_rotation_age = 1d
log_rotation_size = 100MB
log_min_messages = debug1
# 記錄執(zhí)行慢的SQL
log_min_duration_statement = 60
log_checkpoints = on
log_connections = on
log_disconnections = on
log_duration = on
log_line_prefix = ‘%m'
# 監(jiān)控數(shù)據(jù)庫中長時間的鎖
log_lock_waits = on
# 記錄DDL操作
log_statement = ‘a(chǎn)ll'
[root@localhost data]# cd pg_log
[root@localhost pg_log]# ls
postgresql-2023-07-27_22.csv  postgresql-2023-07-27_22.log  postgresql-2023-07-28_14.csv  postgresql-2023-07-28_14.log

三、將運行日志導入到數(shù)據(jù)庫:

1、創(chuàng)建日志表:

CREATE TABLE postgres_log
(
log_time timestamp(3) with time zone,user_name text,
database_name text,
process_id integer,
connection_from text,
session_id text,
session_line_num bigint,
command_tag text,
session_start_time timestamp with time zone,
virtual_transaction_id text,
transaction_id bigint,
error_severity text,
sql_state_code text,
message text,
detail text,
hint text,internal_query text,
internal_query_pos integer,
context text,query text,
query_pos integer,
location text,
application_name text,
backend_type text,
leader_pid integer,
query_id bigint,
PRIMARY KEY (session_id, session_line_num)
) 

2、將日志文件copy到數(shù)據(jù)庫

DO $func$BEGIN  EXECUTE $$ COPY public.postgres_log from '/opt/postgresql/data/pg_log/postgresql-$$ || to_char(now(),'YYYY-MM-DD_HH24') || $$.csv'  DELIMITER ',' CSV HEADER;  $$;END;$func$ LANGUAGE plpgsql;
SELECT * from postgres_log

四、其他:一些參數(shù)說明

log_destination默認是stderr,有三個選項stderr,csvlog,syslog;如果使用csvlog的話,logging_collector必須開啟。也可以同時使用csvlog和stderr,會記錄兩種格式的日志。

log_rotation_age當logging_collector被啟用時,這個參數(shù)決定一個個體日志文件的最長生命期。當這些分鐘過去后,一個新的日志文件將被創(chuàng)建。將這個參數(shù)設置為零將禁用基于時間的新日志文件創(chuàng)建。1d代表1天。

log_rotation_size:當logging_collector被啟用時,這個參數(shù)決定一個個體日志文件的最大尺寸。當這么多千字節(jié)被發(fā)送到一個日志文件后,將創(chuàng)建一個新的日志文件。將這個參數(shù)設置為零將禁用基于尺寸的新日志文件創(chuàng)建。

log_min_messages:控制哪些消息級別 被寫入到服務器日志。有效值是DEBUG5、DEBUG4、 DEBUG3、DEBUG2、DEBUG1、 INFO、NOTICE、WARNING、 ERROR、LOG、FATAL和 PANIC。每個級別都包括以后的所有級別。級別越靠后,被發(fā)送的消息越少。默認值是WARNING。

log_min_duration_statement:相當于mysql的long_query_time,記錄慢SQL,超過這個時間的SQL將會被記錄到日志里。

log_connections:導致每一次嘗試對服務器的連接被記錄,客戶端認證的成功完成也會被記錄。 只有超級用戶能在會話開始時更改這個參數(shù),在會話中它不能被更改。默認 為off。

log_disconnections:導致會話終止也會被記錄。日志輸出提供的信息類似于 log_connections,不過還外加會話的持續(xù)時間。 只有超級用戶能在會話開始時更改這個參數(shù),在會話中它不能被更改。默認 為off。

log_duration:導致每一個完成的語句的持續(xù)時間被記錄。默認值是off。如果log_duration為on并且log_min_duration_statement為正值,所有持續(xù)時間都將被記錄,但是只有超過閾值的語句才會被記錄查詢文本。這種行為有助于在高負載安裝中收集統(tǒng)計信息

log_line_prefix:設置日志輸出格式(能夠記錄時間,用戶名稱,數(shù)據(jù)庫名稱,客戶端IP和端口,方便定位問題)默認值是’%m [%p] ',它記錄時間戳和進程ID

log_lock_waits:控制當一個會話為獲得一個鎖等到超過deadlock_timeout時,是否要產(chǎn)生一個日志消息。這有助于決定是否鎖等待造成了性能低下。默認值是off

log_statement:控制哪些 SQL 語句被記錄。有效值是 none (off)、ddl、mod和 all(所有語句)。默認值是none

總結(jié)

到此這篇關(guān)于postgresql開啟pg_log日志詳細步驟及參數(shù)說明的文章就介紹到這了,更多相關(guān)postgresql開啟pg_log日志內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論