AMQP Support for Postgres
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Remove version from doc file Sep 3, 2015
updates v0.4.1 Clarify commit warning messages. See CHANGELOG for more info a… Mar 15, 2016
Makefile v0.4.0 Added new message properties to publish functions. Now require… Sep 3, 2015
amqp.control v0.4.1 Clarify commit warning messages. See CHANGELOG for more info a… Mar 15, 2016


The pg_amqp package provides the ability for postgres statements to directly publish messages to an AMQP broker.

All bug reports, feature requests and general questions can be directed to the Issues section on Github. -


To build pg_amqp, just do this:

make install

If you encounter an error such as:

"Makefile", line 8: Need an operator

You need to use GNU make, which may well be installed on your system as gmake:

gmake install

If you encounter an error such as:

make: pg_config: Command not found

Be sure that you have pg_config installed and in your path. If you used a package management system such as RPM to install PostgreSQL, be sure that the -devel package is also installed. If necessary tell the build process where to find it:

env PG_CONFIG=/path/to/pg_config make && make install

Some prepackaged Mac installs of postgres might need a little coaxing with modern XCodes. If you encounter an error such as:

make: /Applications/ No such file or directory

Then you'll need to link the toolchain

sudo ln -s /Applications/ /Applications/

And if you encounter an error about a missing /usr/bin/postgres:

ld: file not found: /usr/bin/postgres

You might need to link in your real postgres:

sudo ln -s /usr/bin/postgres_real /usr/bin/postgres


Once amqp is installed, you can add it to a database. Add this line to your postgresql config

shared_preload_libraries = ''

This extension requires PostgreSQL 9.1.0 or greater, so loading amqp is as simple as connecting to a database as a super user and running


If you've upgraded your cluster to PostgreSQL 9.1 and already had amqp installed, you can upgrade it to a properly packaged extension with:

CREATE EXTENSION amqp FROM unpackaged;

This is required to update to any versions >= 0.4.0.

To update to the latest version, run the following command after running "make install" again:


Basic Usage

Insert AMQP broker information (host/port/user/pass) into the table.

A process starts and connects to PostgreSQL and runs:

SELECT amqp.publish(broker_id, '', 'foo', 'message');

Upon process termination, all broker connections will be torn down. If there is a need to disconnect from a specific broker, one can call:

select amqp.disconnect(broker_id);

which will disconnect from the broker if it is connected and do nothing if it is already disconnected.