acorello
acorello

Reputation: 4653

Where are the PostgreSQL logs on macOS?

I would like to take a look at the PostgreSQL log files to see what my app writes to them but I can't find them.

Any ideas?

Upvotes: 154

Views: 92695

Answers (11)

ken
ken

Reputation: 14575

You may also want to check the Brew formula. Example PostgreSQL 16

check Formula JSON API

"log_path":"$HOMEBREW_PREFIX/var/log/[email protected]"

Upvotes: 0

Mikko Ohtamaa
Mikko Ohtamaa

Reputation: 83706

On OSX Homebrew installation the log can be found at:

Latest Homebrew:

/opt/homebrew/var/log/postgres.log

or older:

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

or for older version of postgres (< 9.6)

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

Bonus - check if PostgreSQL is running using Homebrew:

brew services info --all

Upvotes: 250

Ravi Kumar Gupta
Ravi Kumar Gupta

Reputation: 1798

For Apple M1(Big Sur / Monterey) users who installed postgres using homebrew the location is -

/opt/homebrew/var/log/postgres.log

Upvotes: 17

Vaibs007
Vaibs007

Reputation: 29

Postgres 13

All logs are arranged per in the order of dates in postgres version 13. The correct folder to find it is :

sudo ls /Library/PostgreSQL/13/data/log

Here you can see all the logs file that were created to select any one log file use

sudo vim /Library/PostgreSQL/13/data/log/postgresql-2021-08-20_051906.log

Upvotes: 0

JL Peyret
JL Peyret

Reputation: 12214

And for users of macports, expect something like /opt/local/var/log/postgresql11 (assuming you are running postgresql 11) after upgrading to Big Sur.

Upvotes: 0

nofinator
nofinator

Reputation: 3023

If you are using Postgres.app, you can find the Data Directory location in the Preferences dialog box. In that directory, the log is at postgres-server.log.

For example, on my machine, the log is at /Users/nofinator/Library/Application Support/Postgres/var-9.4/postgres-server.log.

Upvotes: 11

Martin Sommer
Martin Sommer

Reputation: 566

Postgresapp 9.3.5.1 and later keep a server log. The log is inside the data directory, named postgres-server.log.

Upvotes: 0

plang
plang

Reputation: 5656

I have different Postgresql versions installed on my mac (with macports), and all the logs can be found here

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

Upvotes: 2

lambshaanxy
lambshaanxy

Reputation: 23072

The plist used to launch your Postgres on boot may also set the 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>

So in this case, /usr/local/var/postgres/server.log.

Upvotes: 58

anon
anon

Reputation:

On OS X, if you're using the EnterpriseDB installation of PostgreSQL, your log files will be in /Library/PostgreSQL/8.4/data/pg_log

Of course, you'll want to substitute 8.4 for whichever version number you're running.

Upvotes: 35

Frank Heikens
Frank Heikens

Reputation: 127556

Just ask your database:

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

In my case, it's in "/Library/PostgreSQL/8.4/data/pg_log"

Upvotes: 76

Related Questions