Postgresql

奇怪的 postgresql 日誌條目

  • September 26, 2013

我試圖弄清楚為什麼在我重新啟動後我的 postgresql 日誌中會出現一些奇怪的條目:

2010-05-14 11:30:25 EEST LOG:  database system was shut down at 2010-05-14 11:30:22 EEST
2010-05-14 11:30:25 EEST LOG:  autovacuum launcher started
2010-05-14 11:30:25 EEST LOG:  database system is ready to accept connections
2010-05-14 11:30:25 EEST LOG:  incomplete startup packet
2010-05-14 11:30:40 EEST WARNING:  there is already a transaction in progress
2010-05-14 11:30:40 EEST LOG:  could not receive data from client: Connection reset by peer
2010-05-14 11:30:40 EEST LOG:  unexpected EOF on client connection

首先,這是2010-05-14 11:30:25 EEST LOG: incomplete startup packet我的問題。有人知道為什麼會這樣嗎?

而且,這個很奇怪:2010-05-14 11:30:40 EEST WARNING: there is already a transaction in progress

incomplete startup packet意味著建立了連接,但 Postgres 伺服器沒有得到它所期望的握手(當我的監控系統檢查以確保埠 5432 已打開但不夠聰明以實際登錄和查詢時,我得到了很多這樣的握手)數據庫)。

這是否是一個問題取決於您是否希望有一些連接而不是握手:對我來說每 5 分鐘看到一次不是問題,但如果您不期待它,則此消息可能表明您’正在被埠掃描。

WARNING: there is already a transaction in progress意思就是它所說的:有人試圖在已經在事務中啟動事務(BEGIN ... BEGIN)。
如果你經常看到有人在程序中寫了一些糟糕的 SQL,你應該找到/修復它,因為相應的COMMITandROLLBACK語句可能無法達到你的預期。如果你看到它一次又一次,那麼可能有人在 psql 中對一個事務進行了粗略的處理。

引用自:https://serverfault.com/questions/141822