2011-06-30 49 views
2

我使用PostgreSQL-8.3.0 Postgres裏的時間記錄是從現在開始(不同) 下面是Postgres的一個例子日誌:PostgreSQL的日誌時間

<2011-06-29 14:50:44 JST postgres xxxx 24962>LOG: duration: 4398046.715 ms statement: select id from mcontents where id='00005324' and (start_date <= '2011-06-29 13:37:26' and (end_date IS NULL OR end_date >= '2011-06-29 13:37:26')); 

系統時間2011-06- 29 13:37:26現在()可以,但日誌時間是2011-06-29 14:50:44。 請幫忙。

+2

等等,停下來。如果你運行的是8.3.0,你會錯過三年的更新。無論我們在這裏覆蓋什麼,運行舊的.0 pg版本只是從運行較舊的rc或beta版本中尋求麻煩的一個步驟。你應該真的升級。如果我沒有記錯的話,那麼在8.3.0中有數據吃臭蟲。好的,回到你遇到的其他問題。 –

回答

2

這是因爲你的時間間隔是長(4398046.715 MS是〜73分鐘)和登錄時間%t在該查詢的端計算:

13:37 + 73 mins = 14:50 

編輯:

你不應該」在任何生產環境中都使用小版本8.3.0。據PostgreSQL's FAQ

強烈建議您 總是升級到 最新的次要版本。

+0

但是,我得到這個日誌之後,上面的一個 <2011-06-29 13:43:56 JST postgres xxxx 26677>日誌:持續時間:4398046.846毫秒語句:選擇id從mcontents其中id ='00005092'和(start_date <= '2011-06-29 13:43:56'and(end_date IS NULL OR end_date> ='2011-06-29 13:43:56')); –

+0

@ yoyo-yuan:看起來很奇怪。你可以檢查psql或pgadmin3下的兩個查詢,並找出真正的持續時間?如果可能的話,使用最新版本的PostgreSQL 8.3,即8.3.15。你可以使用'SELECT version()'來檢查你的版本。 –

+0

實際持續時間很快0.xx ms.I不明白爲什麼總是73分鐘+實際持續時間。 –