Nhật ký PostgreSQL trên macOS ở đâu?


103

Tôi muốn xem các tệp nhật ký PostgreSQL để xem ứng dụng của tôi ghi gì vào chúng nhưng tôi không thể tìm thấy chúng.

Bất kỳ ý tưởng?

Câu trả lời:


35

Trên OS X, nếu bạn đang sử dụng cài đặt EnterpriseDB của PostgreSQL, các tệp nhật ký của bạn sẽ ở trong /Library/PostgreSQL/8.4/data/pg_log

Tất nhiên, 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.


170

Khi cài đặt OSX Homebrew, bạn có thể tìm thấy nhật ký tại:

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

hoặc cho phiên bản cũ hơn của postgres (<9,6)

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

1
Tôi đã phải bỏ ghi chú một số dòng ghi chép liên quan trong/usr/local/var/postgres/postgresql.conf
raine

63

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, nó nằm trong "/Library/PostgreSQL/8.4/data/pg_log"


1
hmm, trong trường hợp của tôi nó stderr: / kết quả sql như csv đây: pastebin.com/20C92z2v
basilikode

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

41
Đ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 chưa biết tệp nhật ký ở đâu.
Iain Samuel McLean Elder

41

Việc plistsử dụng để khởi chạy Postgres của bạn khi khởi động cũng có thể đặt tệp nhật ký:

$ 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.


6

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ý ở postgres-server.log.

Ví dụ: trên máy của tôi, nhật ký ở /Users/nofinator/Library/Application Support/Postgres/var-9.4/postgres-server.log.


2

Tôi đã cài đặt các phiên bản Postgresql khác nhau trên máy mac của mình (với macports) và bạn có thể tìm thấy tất cả nhật ký tại đây

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

0

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


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.