Look in the file $PGDATA/postgresql.conf:
#------------------------------------------------------------------------------
# REPORTING AND LOGGING
#------------------------------------------------------------------------------
# - Where to Log -
log_destination = stderr # Valid values are combinations of
# stderr, csvlog, syslog, and eventlog,
# depending on platform. csvlog
# requires logging_collector to be on.
# This is used when logging to stderr:
logging_collector = on # Enable capturing of stderr and csvlog
# into log files. Required to be on for
# csvlogs.
# (change requires restart)
# These are only used if logging_collector is on:
log_directory = log # directory where log files are written,
# can be absolute or relative to PGDATA
log_filename = 'postgresql-%a.log' # log file name pattern,
# can include strftime() escapes
log_truncate_on_rotation = on # If on, an existing log file with the
# same name as the new log file will be
# truncated rather than appended to.
# But such truncation only occurs on
# time-driven rotation, not on restarts
# or size-driven rotation. Default is
# off, meaning append to existing files
# in all cases.
log_rotation_age = 1d # Automatic rotation of logfiles will
# happen after that time. 0 disables.
log_rotation_size = 0 # Automatic rotation of logfiles will
# happen after that much log output.
# 0 disables.
So in my case, the directory $PGDATA/log should contain the database server's log files.
The directory listing shows:
[postgres@myserver /pgdata/data/log]$ ls -latrh total 5.6M drwx------ 2 postgres postgres 4.0K Dec 23 00:00 . -rw------- 1 postgres postgres 867K Jan 24 23:59 postgresql-Thu.log -rw------- 1 postgres postgres 869K Jan 25 23:59 postgresql-Fri.log -rw------- 1 postgres postgres 873K Jan 26 23:59 postgresql-Sat.log -rw------- 1 postgres postgres 873K Jan 27 23:59 postgresql-Sun.log -rw------- 1 postgres postgres 873K Jan 28 23:59 postgresql-Mon.log -rw------- 1 postgres postgres 873K Jan 29 23:59 postgresql-Tue.log drwx------ 21 postgres postgres 4.0K Jan 30 10:47 .. -rw------- 1 postgres postgres 407K Jan 30 11:01 postgresql-Wed.log
Since I am writing this post on a Wednesday, the log currently being written to is postgresql-Wed.log, and putting a tail on that will be somewhat like tailing the alert log of an oracle database.
Source: The online documentation