PipelineDB Installation

Install PostgreSQL

Since PipelineDB runs as an extension to PostreSQL, begin by installing PostgreSQL.


PipelineDB currently supports PostgreSQL versions 10.1, 10.2, 10.3, 10.4, 10.5, and 11.0.

Once you have PostgreSQL installed on your system, you just need to install the PipelineDB binaries and then create the PipelineDB extension within your PostgreSQL database. You can install binaries from our apt or yum repositories or you can download packages from our release archives and install them directly.


First, add our apt repository to your system (inspect apt.sh):

curl -s http://download.pipelinedb.com/apt.sh | sudo bash

Now simply install the latest PipelineDB package:

# PostgreSQL 10
sudo apt-get install pipelinedb-postgresql-10

# PostgreSQL 11
sudo apt-get install pipelinedb-postgresql-11


Add our yum repository to your system (inspect yum.sh):

curl -s http://download.pipelinedb.com/yum.sh | sudo bash

Install the latest PipelineDB package:

# PostgreSQL 10
sudo yum install pipelinedb-postgresql-10

# PostgreSQL 11
sudo yum install pipelinedb-postgresql-11


apt and yum repositories only need to be added to your system a single time. Once you’ve added them, you don’t need to run these scripts again. You need only run the installation commands to get new versions of PipelineDB.

You may also download binary packages from our release archives and install them directly.

RPM Packages

To install the PipelineDB RPM package, run:

sudo rpm -ivh pipelinedb-postgresql-<pg version>_<pipelindb version>.rpm

Debian Packages

To install the PipelineDB Debian package, run:

sudo dpkg -i pipelinedb-postgresql-<pg version>_<pipelindb version>.deb

Creating the PipelineDB Extension

In order for PipelineDB to run, the shared_preload_libraries configuration parameter must be set in postgresql.conf, which can be found underneath your data directory. It’s also a good idea to set max_worker_processes to something reasonably high to give PipelineDB worker processes plenty of capacity:

# At the bottom of <data directory>/postgresql.conf
shared_preload_libraries = 'pipelinedb'
max_worker_processes = 128

Running PostgreSQL

To run the PostgreSQL server in the background, use the pg_ctl driver and point it to your newly initialized data directory:

pg_ctl -D <data directory> -l postgresql.log start

To connect to a running server using the default database, use PostgreSQL’s standard client, psql, which can be used to create the PipelineDB extension:

psql -c "CREATE EXTENSION pipelinedb"

Once the PipelineDB extension has been created, you’re ready to start using PipelineDB!

You can check out the Quickstart section to start streaming data into PipelineDB right now.


By default, PostgreSQL is not configured to allow incoming connections from remote hosts. To enable incoming connections, first set the following line in postgresql.conf:

listen_addresses = '*'

And in pg_hba.conf, add a line such as the following to allow incoming connections:

host    all             all             <ip address>/<subnet>            md5

For example, to allow incoming connections from any host:

host    all             all               md5


PipelineDB is available as a Docker image, making it very easy to run on platforms that don’t currently have official packages. The PipelineDB extension will automatically be created upon database initialization, so Creating the PipelineDB Extension is is not necessary with the Docker image.

You can run a PipelineDB Docker container via docker run:

docker run pipelinedb/pipelinedb-postgresql-{postgresql version}

The PipelineDB Docker image uses the PostgreSQL image as its parent, so all configuration and customization can be done via the interface that the PostgreSQL image provides.

Now you’re ready to put PipelineDB to work! Check out the Continuous Views or Quickstart sections to get started.