Postgresql
奇怪的 postgresql 日誌條目
我試圖弄清楚為什麼在我重新啟動後我的 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,你應該找到/修復它,因為相應的COMMIT
andROLLBACK
語句可能無法達到你的預期。如果你看到它一次又一次,那麼可能有人在 psql 中對一個事務進行了粗略的處理。