PostgreSQL Logs

You can send PostgreSQL logs to Loggly over syslog. Your syslog daemon such as rsyslog will receive these events and then forward them to Loggly. The advantage of Rsyslog is that it can send TCP events without blocking your application, can optionally encrypt the data, and even queue data to add robustness to network failure.

PostgreSQL Logging Setup

  1. Configure Syslog Daemon
  2. If you haven’t already, run our automatic Configure-Syslog script below to setup rsyslog. Alternatively, you can Manually Configure Rsyslog or Syslog-ng.

    curl -O https://www.loggly.com/install/configure-linux.sh
    sudo bash configure-linux.sh -a SUBDOMAIN -u USERNAME
    

    Replace:

    • SUBDOMAIN: your account subdomain that you created when you signed up for Loggly
    • USERNAME: your Loggly username

  3. Configure Syslog Daemon for UDP Input
  4. Open rsyslog’s configuration file

    sudo vim /etc/rsyslog.conf
    

    Uncomment these lines to accept UDP messages on the default port 514.

    $ModLoad imudp
    $UDPServerRun 514
    

    PostgreSQL Logging

    Restart the rsyslog service so the changes take effect

    sudo service rsyslog restart
    

  5. Configure PostgreSQL to send logs to Syslog
  6. Open postgresql.conf file to send PostgreSQL logs to syslog.

    sudo vim /etc/postgresql/9.3/main/postgresql.conf
    

    Update the following configuration

    log_destination = 'syslog'
    

    Restart PostgreSQL

    /etc/init.d/postgresql restart
    

  7. Verify Events
  8. Search Loggly for events with the appName as postgres over the past hour. It may take few minutes to index the event. If if doesn’t work, see the troubleshooting section below.

    syslog.appName:postgres
    

    PostgreSQL Logs

Advanced PostgreSQL Logging Options

  • Log File Monitoring – If you log to file, you can send these files to Loggly.
  • Loggly Libraries Catalog – You can find more options here to send logs to Loggly.
  • Troubleshooting PostgreSQL Logs

    • Wait a few minutes in case indexing needs to catch up.
    • Check if you have restarted rsyslog service
    • Run “sudo tcpdump -i lo -A udp and port 514″ to verify UDP events are being sent to localhost
    • Search or post your own PostgreSQL logs questions, or other questions around Amazon RDS, database log files, or an instance running in the community forum.
    Thanks for the feedback! We'll use it to improve our support documentation.


    Top