0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PostgreSQL PG14通過(guò)libpq改進(jìn)logging

微云疏影 ? 來(lái)源:yzsDBA ? 作者:yzsDBA ? 2023-01-24 15:57 ? 次閱讀

PostgreSQL 14通過(guò)libpq改進(jìn)logging

PG14中增強(qiáng)了libpq功能,以跟蹤應(yīng)用程序的服務(wù)器/客戶端通信的可用性。它添加了新的選項(xiàng)控制輸出格式。

背景

libpq是客戶端庫(kù)之一,用戶可以運(yùn)行PQtrace函數(shù)記錄客戶端-服務(wù)端通信。這個(gè)通信是PG使用的一種協(xié)議信息,包括:消息類型的標(biāo)識(shí)符,消息長(zhǎng)度,交換信息的消息內(nèi)容。

應(yīng)用開(kāi)發(fā)者可以使用這個(gè)日志判斷通信是否按預(yù)期執(zhí)行。使用下面的的語(yǔ)句作為一個(gè)例子:

CREATE TABLESPACE regress_tblspacewith

LOCATION '/home/postgres/src/test/regress/testtablespace'

WITH (random_page_cost = 3.0);

PG13中調(diào)用PQtrace的應(yīng)用會(huì)輸出下面類型的日志到指定文件中:

PG13中l(wèi)ibpq產(chǎn)生的日志

需要注意,當(dāng)前PG版本的PQtrace日志輸出中不包含時(shí)間戳,因此不能作為參考分析慢查詢。另外,因?yàn)橄?biāo)識(shí)符、server/client消息長(zhǎng)度、輸出內(nèi)容分別單獨(dú)一行,可靠性比較低,協(xié)議消息的分析比較困難。標(biāo)記1的Z和C是協(xié)議消息的標(biāo)識(shí)符。要了解每個(gè)標(biāo)識(shí)符的含義,參考手冊(cè)中Message Formats部分

功能改進(jìn)概述

PG14中,改進(jìn)了PQtrace函數(shù),使得輸出的日志更具可讀性并且包含時(shí)間戳。添加了新的函數(shù)PQsetTraceFlags用以控制時(shí)間戳的輸出。

改進(jìn)日志輸出

PG14中改進(jìn)的trace函數(shù)產(chǎn)生了下面類似的輸出:

PG 14中l(wèi)ibpq產(chǎn)生的日志

1)包含了時(shí)間戳

2)消息方向的代碼更加直觀:F表示前端,B表示后端

3)輸出正式的消息名稱,而不是協(xié)議消息的標(biāo)識(shí)符

4)有意義的協(xié)議消息以一行形式輸出

日志檢索方法

和以前一樣,通過(guò)調(diào)用libpq的PQtrace函數(shù)開(kāi)始記錄日志。如果不需要輸出時(shí)間戳,可以通過(guò)PQsetTraceFlags函數(shù)控制。

影響

PQtrace輸出時(shí)間戳,可以幫助用戶識(shí)別慢查詢。如果應(yīng)用程序突然變慢,可以通過(guò)查看日志中時(shí)間戳差異來(lái)確定server或者client耗費(fèi)了更長(zhǎng)時(shí)間。有意義的協(xié)議消息以一行形式輸出,使得不熟悉lipq日志的人可以輕松了解server和client之間發(fā)送的通信。通過(guò)使用PQsetTraceFlags函數(shù)控制是否輸出時(shí)間戳,可以使用此日志進(jìn)行回歸測(cè)試。通過(guò)不輸出時(shí)間戳,可以使用預(yù)期測(cè)試運(yùn)行的結(jié)果填充日志,并輕松第將其與測(cè)試運(yùn)行中得到的日志進(jìn)行比較。

未來(lái)

PG14的libpq日志將包含時(shí)間戳和更具可讀性的文本。在后續(xù)版本中,我們會(huì)在下面幾個(gè)方面進(jìn)一步提升可用性:

1) 當(dāng)前函數(shù)將日志寫入指定給PQtrace函數(shù)的文件。某些情況下,會(huì)使日志文件膨脹非常大,從而影響文件操作。為解決這個(gè)問(wèn)題,我們希望提供一個(gè)功能來(lái)指定文件的最大大小。

2) 希望添加環(huán)境變量和連接參數(shù),以設(shè)置日志輸出的目錄位置,以及日志文件名來(lái)適應(yīng)環(huán)境,無(wú)需修改應(yīng)用程序。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    781

    瀏覽量

    44853
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3322

    瀏覽量

    58783
  • 日志
    +關(guān)注

    關(guān)注

    0

    文章

    143

    瀏覽量

    10832
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    LTM8053怎么使用PG那個(gè)引腳?

    我在用LTM8053的時(shí)候不太知道怎么使用PG那個(gè)引腳。我在LTSpice仿真里面,不管這個(gè)上拉到多少伏,這個(gè)引腳都是3.3V左右。是內(nèi)部有穩(wěn)壓管嗎? 我的應(yīng)用里面輸出電壓都是大于等于5V的。PG
    發(fā)表于 04-18 06:41

    rtthread控制STM32L476的PG7 PG8拉高拉低沒(méi)反應(yīng)是怎么回事?

    同時(shí)配置PB7 PG7 PG讓他們?nèi)齻€(gè)進(jìn)行閃燈,發(fā)現(xiàn)只有PB7在工作,裸機(jī)用CUBMX生成的都能工作…………… 求助?。。。。。。。。。。。?!
    發(fā)表于 03-07 07:31

    展望PostgreSQL 18的新特性

    距離 PostgreSQL 17 正式發(fā)布已近半年,按照每年發(fā)布一個(gè)大版本的慣例,PostgreSQL 18 預(yù)計(jì)將在 2025 年底發(fā)布。距離正式發(fā)布還有一段時(shí)間,社區(qū)的開(kāi)發(fā)工作仍在如火如荼地進(jìn)行中。
    的頭像 發(fā)表于 03-03 16:51 ?670次閱讀
    展望<b class='flag-5'>PostgreSQL</b> 18的新特性

    用TPS65145給DMD供電時(shí),發(fā)現(xiàn)DMD不供電,PG腳始終為低為什么?

    在用TPS65145給DMD供電時(shí),發(fā)現(xiàn)DMD不供電,PG腳始終為低,一旦將TPS65145的PG腳和DMD斷開(kāi),TPS65145就能正常工作,測(cè)量下來(lái)斷開(kāi)PG腳時(shí),TPS65145和DMD的
    發(fā)表于 03-03 06:18

    利用SSIS源、查找及目標(biāo)組件集成PostgreSQL數(shù)據(jù)至ETL流程

    數(shù)據(jù)與 通過(guò) SQL Server Integration Services (SSIS) 的其他數(shù)據(jù)庫(kù)和云應(yīng)用程序。它們包括優(yōu)化的 PostgreSQL Source、PostgreSQL
    的頭像 發(fā)表于 02-07 09:24 ?1324次閱讀
    利用SSIS源、查找及目標(biāo)組件集成<b class='flag-5'>PostgreSQL</b>數(shù)據(jù)至ETL流程

    dbForge Studio for PostgreSQL:PostgreSQL數(shù)據(jù)庫(kù)多功能集成開(kāi)發(fā)環(huán)境

    什么是 dbForge Studio for PostgreSQL?是一個(gè)集成工具包中包含 PostgreSQL 所需的一切 上下文感知SQL代碼補(bǔ)全、智能格式化和語(yǔ)法驗(yàn)證 消除性能瓶頸的查詢優(yōu)化器
    的頭像 發(fā)表于 01-16 17:26 ?482次閱讀

    PostgreSQL將不再支持MD5密碼

    根據(jù) PostgreSQL 代碼倉(cāng)庫(kù)的最新動(dòng)態(tài),近日有維護(hù)者提交了“棄用 MD5 密碼支持”的 commit。 該維護(hù)者指出,MD5 被認(rèn)為不適合用作加密散列算法已有一段時(shí)間。 此外
    的頭像 發(fā)表于 12-10 16:14 ?454次閱讀

    米爾-紫光PG2L100H國(guó)產(chǎn)FPGA開(kāi)發(fā)板試用】按鍵功能測(cè)試報(bào)告

    設(shè)計(jì)交互式界面 性能優(yōu)化 提高檢測(cè)靈敏度 優(yōu)化防抖算法 改進(jìn)顯示效果 完善調(diào)試功能 十、總結(jié) 通過(guò)本次按鍵功能測(cè)試,驗(yàn)證了PG2L100H開(kāi)發(fā)板的按鍵模塊工作正常,響應(yīng)靈敏,功能可靠。官方提供的按鍵示例
    發(fā)表于 12-06 11:04

    MySQL還能跟上PostgreSQL的步伐嗎

    Percona 的老板 Peter Zaitsev最近發(fā)表一篇博客,討論了MySQL是否還能跟上PostgreSQL的腳步。Percona 作為MySQL 生態(tài)扛旗者,Percona 開(kāi)發(fā)了知名
    的頭像 發(fā)表于 11-18 10:16 ?509次閱讀
    MySQL還能跟上<b class='flag-5'>PostgreSQL</b>的步伐嗎

    改進(jìn)的TPS61040/1過(guò)壓保護(hù)

    電子發(fā)燒友網(wǎng)站提供《改進(jìn)的TPS61040/1過(guò)壓保護(hù).pdf》資料免費(fèi)下載
    發(fā)表于 10-11 09:31 ?2次下載
    <b class='flag-5'>改進(jìn)</b>的TPS61040/1<b class='flag-5'>過(guò)</b>壓保護(hù)

    如何使用長(zhǎng)USB電纜通過(guò)TPS25840-Q1設(shè)備改進(jìn)眼圖

    電子發(fā)燒友網(wǎng)站提供《如何使用長(zhǎng)USB電纜通過(guò)TPS25840-Q1設(shè)備改進(jìn)眼圖.pdf》資料免費(fèi)下載
    發(fā)表于 09-25 14:25 ?0次下載
    如何使用長(zhǎng)USB電纜<b class='flag-5'>通過(guò)</b>TPS25840-Q1設(shè)備<b class='flag-5'>改進(jìn)</b>眼圖

    使用TPS65033x-Q1通過(guò)CISPR-25輻射和傳導(dǎo)發(fā)射

    電子發(fā)燒友網(wǎng)站提供《使用TPS65033x-Q1通過(guò)CISPR-25輻射和傳導(dǎo)發(fā)射.pdf》資料免費(fèi)下載
    發(fā)表于 09-25 10:51 ?0次下載
    使用TPS65033x-Q1<b class='flag-5'>通過(guò)</b>CISPR-25輻射和傳導(dǎo)發(fā)射

    如何使用USB充電器TPS2583x-Q1通過(guò)MFI VBUS規(guī)范

    電子發(fā)燒友網(wǎng)站提供《如何使用USB充電器TPS2583x-Q1通過(guò)MFI VBUS規(guī)范.pdf》資料免費(fèi)下載
    發(fā)表于 09-25 09:48 ?0次下載
    如何使用USB充電器TPS2583x-Q1<b class='flag-5'>通過(guò)</b>MFI VBUS規(guī)范

    使用TPS3899通過(guò)可編程復(fù)位時(shí)序進(jìn)行電壓監(jiān)控

    電子發(fā)燒友網(wǎng)站提供《使用TPS3899通過(guò)可編程復(fù)位時(shí)序進(jìn)行電壓監(jiān)控.pdf》資料免費(fèi)下載
    發(fā)表于 09-24 09:29 ?0次下載
    使用TPS3899<b class='flag-5'>通過(guò)</b>可編程復(fù)位時(shí)序進(jìn)行電壓監(jiān)控

    在高速ADC中通過(guò)校準(zhǔn)改進(jìn)SFDR

    電子發(fā)燒友網(wǎng)站提供《在高速ADC中通過(guò)校準(zhǔn)改進(jìn)SFDR.pdf》資料免費(fèi)下載
    發(fā)表于 08-30 10:59 ?0次下載
    在高速ADC中<b class='flag-5'>通過(guò)</b>校準(zhǔn)<b class='flag-5'>改進(jìn)</b>SFDR

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品