Building pg_journal

This is a PostgreSQL preload module for sending log messages directly to the systemd journal log.

This document explains how to build pg_journal. For usage documentation and more info, please see the doc/pg_journal.md file or read the latest version online.


  • PostgreSQL version 9.2+ (earlier versions supported with a server patch).
  • systemd v38 or newer with libsystemd-journal installed.

Quick start

To build and install this extension, simply run:

sudo make install

Then add the following line to your postgresql.conf:

shared_preload_libraries = 'pg_journal'

This change requires a restart of PostgreSQL.


To use this module, you need PostgreSQL version 9.2 or later. To use with earlier versions, you need to patch and build your server manually. The necessary patch is included under patches/logging-hooks.patch (courtesy of Martin Pihlak).

To build and install this extension, simply run:

% make
% sudo make install

If you run into problems with building, see PostgreSQL wiki for troubleshooting

Once pg_journal is installed, you can enable it in your configuration file. Find the postgresql.conf file (usually in your PostgreSQL data directory) and add the following line:

shared_preload_libraries = 'pg_journal'

You need to restart your server for this to take effect. After that, log messages are automatically sent to journal.

Copyright (c) 2012-2015 Marti Raudsepp

pg_journal and all related files are available under The PostgreSQL License. See LICENSE file for details.