共計 3572 個字符,預(yù)計需要花費 9 分鐘才能閱讀完成。
本篇內(nèi)容主要講解“PostgreSQL 12 在日志記錄上的改進(jìn)是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學(xué)習(xí)“PostgreSQL 12 在日志記錄上的改進(jìn)是什么”吧!
對于每一個客戶端連接,PG 都會請求 Postmaster,然后 fork 一個后臺進(jìn)程來處理請求,Postmaster 期望每一個客戶端請求發(fā)送 startup message 給 PG Server,startup packet 中的信息用于配置 fork 的后臺進(jìn)程。對于 端口掃描、HA 解決方案中的心跳檢測等等都會發(fā)請求給 PG Server port,PG 會啟動進(jìn)程來處理這些連接,但安全檢測、HA 腳本等不同于常規(guī)的客戶端,對于這些請求,PG 會產(chǎn)生一條日志條目,因此會造成日志文件的膨脹而導(dǎo)致不必要的 IO 開銷。
PG 11
使用工具 nc 來訪問數(shù)據(jù)庫端口,日志中會產(chǎn)生無用的日志條目。
[xdb@localhost ~]$ psql -c select version();
Timing is on.
Expanded display is used automatically.
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 11.2 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit
(1 row)
Time: 56.253 ms
[xdb@localhost ~]$
[xdb@localhost ~]$ for i in {1..100}; do nc -zv localhost 5110 ; done
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to ::1:5110.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to ::1:5110.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to ::1:5110.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to ::1:5110.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
...
數(shù)據(jù)庫日志輸出
2019-12-09 14:35:55.468 CST,,,16065, ::1:57554 ,5dedeb4b.3ec1,1, ,2019-12-09 14:35:55 CST,,0,LOG,08P01, incomplete startup packet ,,,,,,,,,
2019-12-09 14:35:55.479 CST,,,16067, ::1:57556 ,5dedeb4b.3ec3,1, ,2019-12-09 14:35:55 CST,,0,LOG,08P01, incomplete startup packet ,,,,,,,,,
2019-12-09 14:35:55.490 CST,,,16069, ::1:57558 ,5dedeb4b.3ec5,1, ,2019-12-09 14:35:55 CST,,0,LOG,08P01, incomplete startup packet ,,,,,,,,,
2019-12-09 14:35:55.503 CST,,,16071, ::1:57560 ,5dedeb4b.3ec7,1, ,2019-12-09 14:35:55 CST,,0,LOG,08P01, incomplete startup packet ,,,,,,,,,
2019-12-09 14:35:55.513 CST,,,16073, ::1:57562 ,5dedeb4b.3ec9,1, ,2019-12-09 14:35:55 CST,,0,LOG,08P01, incomplete startup packet ,,,,,,,,,
...
這些日志其實是無用的日志信息,可以不作記錄。
PG 12
[xdb@localhost ~]$ psql -h localhost -p 5120 -U pg12 -c select version();
Timing is on.
Expanded display is used automatically.
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 12.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit
(1 row)
Time: 60.207 ms
[xdb@localhost ~]$
[xdb@localhost ~]$ for i in {1..100}; do nc -zv localhost 5120 ; done
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to ::1:5120.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to ::1:5120.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to ::1:5120.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to ::1:5120.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to ::1:5120.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
[xdb@localhost ~]$
...
數(shù)據(jù)庫日志信息,相對于 PG 11,沒有出現(xiàn)無用的日志信息
[pg12@localhost ~]$ tail -f $PGDATA/pg_log/postgresql-2019-12-09.log
2019-12-09 14:18:59.317 CST [1813] LOG: ending log output to stderr
2019-12-09 14:18:59.317 CST [1813] HINT: Future log output will go to log destination csvlog .
到此,相信大家對“PostgreSQL 12 在日志記錄上的改進(jìn)是什么”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!