postgresql開(kāi)啟pg_log日志詳細(xì)步驟及參數(shù)說(shuō)明
一、概述: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)文章
PostgreSQL教程(十三):數(shù)據(jù)庫(kù)管理詳解
這篇文章主要介紹了PostgreSQL教程(十三):數(shù)據(jù)庫(kù)管理詳解,本文講解了概述、創(chuàng)建數(shù)據(jù)庫(kù)、修改數(shù)據(jù)庫(kù)配置、刪除數(shù)據(jù)庫(kù)、表空間,需要的朋友可以參考下2015-05-05
基于postgresql行級(jí)鎖for update測(cè)試
這篇文章主要介紹了基于postgresql行級(jí)鎖for update測(cè)試,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
解決sqoop從postgresql拉數(shù)據(jù),報(bào)錯(cuò)TCP/IP連接的問(wèn)題
這篇文章主要介紹了解決sqoop從postgresql拉數(shù)據(jù),報(bào)錯(cuò)TCP/IP連接的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
PostgreSQL 更新視圖腳本的注意事項(xiàng)說(shuō)明
這篇文章主要介紹了PostgreSQL 更新視圖腳本的注意事項(xiàng)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
PostgreSQL 實(shí)現(xiàn)sql放入文件批量執(zhí)行
這篇文章主要介紹了PostgreSQL 實(shí)現(xiàn)sql放入文件批量執(zhí)行,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02
postgresql 數(shù)據(jù)庫(kù) 與TimescaleDB 時(shí)序庫(kù) join 在一起
這篇文章主要介紹了postgresql 數(shù)據(jù)庫(kù) 與TimescaleDB 時(shí)序庫(kù) join 在一起,需要的朋友可以參考下2020-12-12

