Quickstart

Warning

The current version of PoWA is designed for PostgreSQL 9.4 and newer. If you want to use PoWA on PostgreSQL < 9.4, please use the 1.x series

The following describes the installation of the two main modules of PoWA:
  • powa-archivist (and all other supported extensions) using the PGDG packages (Red Hat/Rocky Linux, Debian/Ubuntu)

  • powa-web from the PGDG packages (Red Hat/CentOS/Rocky Linux, Debian/Ubuntu) or with python pip

Note

This page shows how to configure a local PoWA setup. If you’re interested in configuring PoWA for multiple servers, and/or for standby servers, please also refer to the Remote setup page to see additional steps for such a remote setup.

Install the Web UI

Install from the packages

The PGDG packages should work for currently supported Red Hat/Rocky Linux and Debian / Ubuntu. For unsupported platforms, see the installation through pip or the full manual installation guide.

You can install the web client on any server you like. The only requirement is that the web client can connect to the previously set up PostgreSQL cluster.

If you’re setting up PoWA on another server, you have to install the PGDG repo package again. This is required to install the powa_14-web package and some dependencies.

Again, for example for PostgreSQL 14 on Rocky Linux 8, install the powa_14-web RPM package with its dependencies using:

sudo dnf install powa_14-web

Create the /etc/powa-web.conf config-file to tell the UI how to connect to your freshly installed PoWA database. Of course, change the given cookie to something from your own. For example to connect to the local instance on localhost:

servers={
  'main': {
    'host': 'localhost',
    'port': '5432',
    'database': 'powa'
  }
}
cookie_secret="SUPERSECRET_THAT_YOU_SHOULD_CHANGE"

Don’t forget to allow the web server to connect to the PostgreSQL cluster, and edit your pg_hba.conf accordingly.

Then, run powa-web:

powa-web

The Web UI is now available on port 8888, for example on http://localhost:8888/. You may have to configure your firewall to open the access to the outside. Use the role created earlier in PostgreSQL to connect to the UI.

Install powa-web from pip

You do not have to install the GUI on the same machine your instance is running.

Prerequisites

  • The Python language, either 2.6, 2.7 or > 3

  • The Python language headers, either 2.6, 2.7 or > 3

  • The pip installer for Python. It is usually packaged as python-pip, for example:

sudo dnf install python-pip python-devel

Installation

To install powa-web, just issue the following comamnd:

sudo pip install powa-web

Then you’ll have to configure a config file somewhere, in one of those location:

  • /etc/powa-web.conf

  • ~/.config/powa-web.conf

  • ~/.powa-web.conf

  • ./powa-web.conf

The configuration file is a simple tornado config file. Copy the following content to one of the above locations and modify it according to your setup:

servers={
  'main': {
    'host': 'localhost',
    'port': '5432',
    'database': 'powa'
  }
}
cookie_secret="SUPERSECRET_THAT_YOU_SHOULD_CHANGE"

The servers key define a list of server available for connection by PoWA-web. You should ensure that the pg_hba.conf file is properly configured.

The cookie_secret is used as a key to crypt cookies between the client and the server. You should DEFINITELY not keep the default if you value your security.

Other options are described in the full manual installation guide.

Then, run powa-web:

powa-web

The UI is now available on the 8888 port (eg. http://localhost:8888). Login with the credentials of the powa PostgreSQL user.