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

postgresql開(kāi)啟pg_log日志詳細(xì)步驟及參數(shù)說(shuō)明

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

一、概述:postgresql的運(yùn)行日志默認(rèn)是不開(kāi)啟的,如果要查詢?nèi)罩拘枰謩?dòng)開(kāi)啟。

二、修改配置文件,開(kāi)啟運(yùn)行日志:

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)控?cái)?shù)據(jù)庫(kù)中長(zhǎng)時(shí)間的鎖
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

三、將運(yùn)行日志導(dǎo)入到數(shù)據(jù)庫(kù):

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ù)庫(kù)

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ù)說(shuō)明

log_destination默認(rèn)是stderr,有三個(gè)選項(xiàng)stderr,csvlog,syslog;如果使用csvlog的話,logging_collector必須開(kāi)啟。也可以同時(shí)使用csvlog和stderr,會(huì)記錄兩種格式的日志。

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

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

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

log_min_duration_statement:相當(dāng)于mysql的long_query_time,記錄慢SQL,超過(guò)這個(gè)時(shí)間的SQL將會(huì)被記錄到日志里。

log_connections:導(dǎo)致每一次嘗試對(duì)服務(wù)器的連接被記錄,客戶端認(rèn)證的成功完成也會(huì)被記錄。 只有超級(jí)用戶能在會(huì)話開(kāi)始時(shí)更改這個(gè)參數(shù),在會(huì)話中它不能被更改。默認(rèn) 為off。

log_disconnections:導(dǎo)致會(huì)話終止也會(huì)被記錄。日志輸出提供的信息類似于 log_connections,不過(guò)還外加會(huì)話的持續(xù)時(shí)間。 只有超級(jí)用戶能在會(huì)話開(kāi)始時(shí)更改這個(gè)參數(shù),在會(huì)話中它不能被更改。默認(rèn) 為off。

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

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

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

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

總結(jié)

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

相關(guān)文章

最新評(píng)論