中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

PostgreSQL的日志文件參數(shù)及注意事項(xiàng)有哪些

這篇文章主要介紹“PostgreSQL的日志文件參數(shù)及注意事項(xiàng)有哪些”,在日常操作中,相信很多人在PostgreSQL的日志文件參數(shù)及注意事項(xiàng)有哪些問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”P(pán)ostgreSQL的日志文件參數(shù)及注意事項(xiàng)有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

公司主營(yíng)業(yè)務(wù):網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。創(chuàng)新互聯(lián)推出洛南免費(fèi)做網(wǎng)站回饋大家。

運(yùn)行日志參數(shù)


1.1 運(yùn)行日志主要參數(shù)

運(yùn)行日志主要相關(guān)的參數(shù)如下,默認(rèn)沒(méi)有開(kāi)啟的話(huà)沒(méi)有l(wèi)og目錄,開(kāi)啟后會(huì)自動(dòng)生成。

參數(shù)

可選值/說(shuō)明

og_destination = 'csvlog' 

# stderr, csvlog, syslog, and eventlog ,csvlog requires logging_collector to be on

一般選擇這個(gè),可以將csv日志導(dǎo)入數(shù)據(jù)庫(kù)中查看

logging_collector = on

# Enable capturing of stderr and csvlog into log files
選scv格式的日志必須設(shè)置這個(gè)參數(shù)on,修改需要重啟

log_directory = 'log'

日志輸出目錄

log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log

日志輸出目錄

log_file_mode = 0600 

日志文件名字格式

log_truncate_on_rotation = on

# creation mode for log files   日志文件權(quán)限

log_rotation_age = 1d

設(shè)置重用日志

log_rotation_size = 10MB

多長(zhǎng)時(shí)間重用日志

log_min_messages = warning                   

日志達(dá)到多大重用

log_min_duration_statement = 60

# debug5,debug4,debug3,debug2,debug1,info,notice,warning,error,log,fatal,panic

log_checkpoints = on

慢sql記錄(超過(guò)多長(zhǎng)時(shí)間的sql)

log_connections = on

記錄checkpoint操作

log_disconnections = on

記錄會(huì)話(huà)斷開(kāi)操作

log_duration = on

記錄sql執(zhí)行時(shí)間

log_lock_waits = on       

# log lock waits >= deadlock_timeout   記錄時(shí)間長(zhǎng)的阻塞

log_statement = 'ddl' 

# none, ddl, mod, all    記錄ddl

1.2  注意事項(xiàng)

設(shè)置csv格式日志的話(huà)一定要設(shè)置logging_collector 為 on
pg10版本的運(yùn)行日志一般在$PGDATA/log目錄下
log目錄是開(kāi)啟運(yùn)行日志后自動(dòng)生成的
可以通過(guò)log_rotation_age來(lái)設(shè)置多久重新生成一個(gè)日志文件
可以通過(guò)log_rotation_size來(lái)設(shè)置多大的日志來(lái)重新生成日志文件
上面兩個(gè)都需要配合log_truncate_on_rotation 為 on來(lái)使用
可以開(kāi)啟log_duration來(lái)記錄sql執(zhí)行時(shí)間
可以開(kāi)啟log_statement來(lái)記錄數(shù)據(jù)庫(kù)ddl

1.3  csv日志載入數(shù)據(jù)庫(kù)

Oracle有外部表,pg也有fdw。oracle可以用外部表的方式將alert日志載入到數(shù)據(jù)庫(kù)中用SQL來(lái)查看。PG可以用copy命令將csv日志載入到數(shù)據(jù)庫(kù)中用SQL來(lái)查看。這種方式都可以很方便得用sql來(lái)查詢(xún)想要的日志內(nèi)容。這種方式的有點(diǎn)是顯而易見(jiàn)的,就是可以很容易得用SQL來(lái)查詢(xún)和過(guò)濾日志,pg的日志文件可以截?cái)喾指畛扇舾尚∥募?,可以載入自己需要的日志。而Oracle的alert通常會(huì)很大。

缺點(diǎn)也是顯而易見(jiàn)的,如果數(shù)據(jù)庫(kù)掛了就不能用這種方式來(lái)查看日志。而且pg的csv日志不容易直接閱讀。

1.3.1 創(chuàng)建日志表

創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù)和新的表來(lái)載入日志

postgres=# create database test;
CREATE DATABASE
postgres=# \c test
You are now connected to database "test" as user "pg12".
test=# CREATE TABLE pg_log
test-# (
test(#   log_time timestamp(3) with time zone,
test(#   user_name text,
test(#   database_name text,
test(#   process_id integer,
test(#   connection_from text,
test(#   session_id text,
test(#   session_line_num bigint,
test(#   command_tag text,
test(#   session_start_time timestamp with time zone,
test(#   virtual_transaction_id text,
test(#   transaction_id bigint,
test(#   error_severity text,
test(#   sql_state_code text,
test(#   message text,
test(#   detail text,
test(#   hint text,
test(#   internal_query text,
test(#   internal_query_pos integer,
test(#   context text,
test(#   query text,
test(#   query_pos integer,
test(#   location text,
test(#   application_name text,
test(#   PRIMARY KEY (session_id, session_line_num)
test(# );

CREATE TABLE
test=#

1.3.2 查看日志文件名字

[pg12@whf307 ~]$ cd $PGDATA/log
[pg12@whf307 log]$ ls -rtl
total 24
-rw------- 1 pg12 pg12  166 May 30 13:32 postgresql-2019-05-30_133202.log
-rw------- 1 pg12 pg12  496 May 30 13:32 postgresql-2019-05-30_133202.csv
-rw------- 1 pg12 pg12    0 May 30 13:32 postgresql-2019-05-30_133254.log
-rw------- 1 pg12 pg12  170 May 30 13:32 postgresql-2019-05-30_133254.csv
-rw------- 1 pg12 pg12  166 May 30 13:33 postgresql-2019-05-30_133324.log
-rw------- 1 pg12 pg12 6566 May 30 16:16 postgresql-2019-05-30_133324.csv
-rw------- 1 pg12 pg12    0 May 31 00:00 postgresql-2019-05-31_000000.log
-rw------- 1 pg12 pg12    0 May 31 00:00 postgresql-2019-05-31_000000.csv
[pg12@whf307 log]$
[pg12@whf307 log]$ pwd
/soft/pg_data/log
[pg12@whf307 log]$

1.3.3 載入到數(shù)據(jù)庫(kù)

[pg12@whf307 log]$ psql  test
psql (12beta1)
Type "help" for help.
test=# \d
        List of relations
 Schema |  Name  | Type  | Owner
--------+--------+-------+-------
 public | pg_log | table | pg12
(1 row)

test=# copy pg_log from '/soft/pg_data/log/postgresql-2019-05-30_133324.csv' with csv;
COPY 32

1.3.4 查看日志

這樣就可以用sql來(lái)查看了。執(zhí)行一個(gè)普通查詢(xún)

test=# select relfilenode from pg_class where relname='pg_log';
 relfilenode
-------------
       16385
(1 row)

載入最新的日志。這里可以重復(fù)載入,不會(huì)覆蓋之前的數(shù)據(jù)。

[pg12@whf307 log]$ ls -rtl
total 32
-rw------- 1 pg12 pg12  166 May 30 13:32 postgresql-2019-05-30_133202.log
-rw------- 1 pg12 pg12  496 May 30 13:32 postgresql-2019-05-30_133202.csv
-rw------- 1 pg12 pg12    0 May 30 13:32 postgresql-2019-05-30_133254.log
-rw------- 1 pg12 pg12  170 May 30 13:32 postgresql-2019-05-30_133254.csv
-rw------- 1 pg12 pg12  166 May 30 13:33 postgresql-2019-05-30_133324.log
-rw------- 1 pg12 pg12 6566 May 30 16:16 postgresql-2019-05-30_133324.csv
-rw------- 1 pg12 pg12    0 May 31 00:00 postgresql-2019-05-31_000000.log
-rw------- 1 pg12 pg12 4545 May 31 00:37 postgresql-2019-05-31_000000.csv
[pg12@whf307 log]$ psql test
psql (12beta1)
Type "help" for help.
test=# copy pg_log from '/soft/pg_data/log/postgresql-2019-05-31_000000.csv' with csv;
COPY 28

再次查看日志

test=# SELECT COUNT(*) FROM PG_LOG;
 count
-------
    60
(1 row)

test=# select log_time at time zone 'UTC' ,database_name,connection_from,query from pg_log where log_time>to_timestamp('2019-05-31 14:35:00','yyyy-mm-dd hh34:mi:ss');
        timezone         | database_name | connection_from |                           query                          
-------------------------+---------------+-----------------+-----------------------------------------------------------
 2019-05-31 06:35:42.843 | test          | [local]         |
 2019-05-31 06:35:57.582 | test          | [local]         |
 2019-05-31 06:36:54.369 | test          | [local]         | selectt relfilenode from pg_class where relname='pg_log';
 2019-05-31 06:36:58.002 | test          | [local]         |
 2019-05-31 06:37:00.192 | test          | [local]         |
 2019-05-31 06:37:11.651 |               | [local]         |
 2019-05-31 06:37:11.651 | test          | [local]         |
(7 rows)

可以看到記錄數(shù)變成了60,之前的記錄沒(méi)有被覆蓋,我們可以一直使用該表,可以用sql來(lái)查看sql,數(shù)據(jù)庫(kù),登錄時(shí)間等等的所有日志。

查看日志起始結(jié)束時(shí)間

test=# select min(log_time)  at time zone 'UTC',max(log_time)  at time zone 'UTC' from pg_log;
        timezone         |        timezone        
-------------------------+-------------------------
 2019-05-30 19:33:24.892 | 2019-05-31 06:37:11.651
(1 row)

有了靈活的數(shù)據(jù)加載方式,讓SQL處理很多問(wèn)題更加簡(jiǎn)捷便利。

到此,關(guān)于“PostgreSQL的日志文件參數(shù)及注意事項(xiàng)有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

網(wǎng)頁(yè)題目:PostgreSQL的日志文件參數(shù)及注意事項(xiàng)有哪些
轉(zhuǎn)載來(lái)源:http://www.rwnh.cn/article36/pgessg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、定制網(wǎng)站、關(guān)鍵詞優(yōu)化網(wǎng)站改版、網(wǎng)站營(yíng)銷(xiāo)軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
汉阴县| 朝阳市| 澎湖县| 平阳县| 昌乐县| 黎城县| 阿巴嘎旗| 镇原县| 若羌县| 汨罗市| 开化县| 白玉县| 黄石市| 双鸭山市| 高阳县| 黄山市| 新营市| 巴楚县| 尤溪县| 凤庆县| 方城县| 汉阴县| 徐汇区| 双峰县| 靖远县| 莒南县| 黔江区| 仪陇县| 兴文县| 东明县| 平乡县| 焦作市| 克什克腾旗| 泽库县| 清水县| 都安| 绵阳市| 阳谷县| 通榆县| 塔城市| 若羌县|