2012-08-04 117 views
2

我正在運行Postgres 9.1(Mac OSX上的Homebrew安裝),我想更密切地監視我的postgres服務器。Display Postgres服務器在終端輸出日誌並同時記錄到日誌

我的問題涉及到日誌。我想讓日誌顯示在終端窗格中。下面是Postgres的docs說的日誌:

「在類Unix系統中,默認情況下,服務器的標準輸出和標準錯誤發送到pg_ctl的標準輸出(而不是標準錯誤)pg_ctl的標準輸出應該再被重定向到文件或管道輸送到另一個進程例如像rotatelogs日誌旋轉程序;否則Postgres將寫入其輸出到控制終端(從背景),並且不會離開外殼的進程組在Windows中,默認情況下,服務器的。標準輸出和標準錯誤都發送到終端,這些默認行爲可以通過使用-l將服務器的輸出附加到日誌文件中進行更改,建議使用-l或輸出重定向。

所以,當我得到我的Postgres服務器的運行如下:

pg_ctl start -D /usr/local/var/postgres 

在終端窗口的日誌顯示。當我運行時:

pg_ctl start -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log 

日誌轉到我的日誌文件並不顯示在終端中。

總之,這將是巨大的,如果任何人都可以告訴我,我用什麼命令我已下令登錄後的文件(第二命令),以使日誌也出現在命令行中。當我開發(在Django中)觀察SQL語句實時執行時,它會有所幫助。

+0

試試 「三通」:'pg_ctl啓動-D在/ usr /本地的/ var /的Postgres | tee/usr/local/var/postgres/server.log' – masterxilo 2018-02-27 11:15:20

回答

12

你可以看日誌用命令:

tail -f /usr/local/var/postgres/server.log 
+1

我的'/ usr/local /'目錄中沒有'var'文件夾! – 2017-08-04 06:52:46

+0

@NishantKumar,答案的路徑是基於macos上的自制軟件。 postgresql的實際日誌在不同平臺和安裝程序之間可以有所不同,用戶也可以更改。執行以下查詢可以指向正確的方向'SHOW log_directory;' – Eelke 2017-08-04 11:33:37