2010-04-01 66 views

Trả lời

31

trên OS X, nếu bạn đang sử dụng cài đặt EnterpriseDB của PostgreSQL, các file log của bạn sẽ được ở /Library/PostgreSQL/8.4/data/pg_log

Dĩ nhiên, y Bạn sẽ muốn thay thế 8.4 cho bất kỳ số phiên bản nào bạn đang chạy.

-1

Look in /var/log/pg_log/ thư mục

+1

Không có, có thể là do sử dụng gói MacOS EnterpriseDB. –

53

Chỉ cần hỏi cơ sở dữ liệu của bạn:

SELECT 
    * 
FROM 
    pg_settings 
WHERE 
    category IN('Reporting and Logging/Where to Log' , 'File Locations') 
ORDER BY 
    category, 
    name; 

Trong trường hợp của tôi, đó là trong "/Library/PostgreSQL/8.4/data/pg_log"

+0

hmm, trong trường hợp của tôi là stderr:/ kết quả sql dưới dạng csv tại đây: http://pastebin.com/20C92z2v –

+0

u Tôi thích giải pháp "nền tảng chéo" –

+26

Điều này không hoạt động nếu cơ sở dữ liệu của bạn không khởi động được và bạn không biết vị trí của các tệp nhật ký. –

31

Các plist sử dụng để khởi động Postgres của bạn khi khởi động cũng có thể thiết lập các logfile:

$ dir ~/Library/LaunchAgents 
org.postgresql.postgres.plist 

$ cat ~/Library/LaunchAgents/org.postgresql.postgres.plist 
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    [...] 
    <key>StandardErrorPath</key> 
    <string>/usr/local/var/postgres/server.log</string> 
</dict> 
</plist> 

Vì vậy, trong trường hợp này, /usr/local/var/postgres/server.log.

+1

+1 thực sự, tôi đã sử dụng homebrew và plist theo khuyến cáo. – bsr

1

Tôi có phiên bản PostgreSQL khác nhau được cài đặt trên mac của tôi (với macports), và tất cả các bản ghi có thể được tìm thấy ở đây

/opt/local/var/log/postgresql84/postgres.log 
/opt/local/var/log/postgresql91/postgres.log 
/opt/local/var/log/postgresql92/postgres.log 
74

Ngày OSX cài đặt Homebrew các bản ghi có thể được tìm thấy tại địa chỉ:

/usr/local/var/postgres/server.log 

hoặc

/usr/local/var/log/postgres.log 

(Đầu tiên là phiên bản < 9.6 và thứ hai là vers ion> = 9.6 của PostgreSQL)

+0

Tôi đang sử dụng postgres 10 và không thể tìm thấy nhật ký tại /usr/local/var/log/postgres.log. log_destination = 'stderr' logging_collector = off log_statement = 'tất cả' pg_ctl -D/usr/local/var/postgres bắt đầu Bất kỳ sự giúp đỡ? –

+0

Bạn đang sử dụng Homebrew? –

-1

Postgresapp 9.3.5.1 và sau đó giữ nhật ký máy chủ. Nhật ký nằm bên trong thư mục dữ liệu, có tên là postgres-server.log.

5

Nếu bạn đang sử dụng Postgres.app, bạn có thể tìm thấy vị trí Thư mục dữ liệu trong hộp thoại Tùy chọn. Trong thư mục đó, nhật ký là postgres-server.log. Ví dụ: trên máy tính của tôi, nhật ký là /Users/nofinator/Library/Application Support/Postgres/var-9.4/postgres-server.log.