• Docs »
  • Installing PostgreSQL Database
  • Edit

Installing PostgreSQL Database

  1. Log in to the server that will host the database, and open a terminal window.
  2. Download the PostgreSQL 9.4 Yum repository.
wget https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-3.noarch.rpm
  1. Install the Yum repository from the file that you downloaded.
sudo yum localinstall pgdg-redhat94-9.4-3.noarch.rpm
  1. Install PostgreSQL.
sudo yum install postgresql94-server postgresql94-contrib
  1. Initialize the database.
sudo service postgresql-9.4 initdb
  1. Set PostgreSQL to start on boot.
sudo chkconfig postgresql-9.4 on
  1. Start the PostgreSQL server.
sudo service postgresql-9.4 start
  1. Switch to the postgres Linux user account that was created during the installation.
sudo --login --user postgres
  1. Start the PostgreSQL interactive terminal.
  1. Create the Mattermost database.
postgres=# CREATE DATABASE mattermost;
  1. Create the Mattermost user ‘mmuser’.

postgres=# CREATE USER mmuser WITH PASSWORD 'mmuser-password';


Use a password that is more secure than ‘mmuser-password’.

  1. Grant the user access to the Mattermost database.
postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
  1. Exit the PostgreSQL interactive terminal.
postgres=# \q
  1. Log out of the postgres account.
  1. Allow Postgres to listen on all assigned IP Addresses.
  1. Open /etc/postgresql/9.4/main/postgresql.conf as root in a text editor.
  2. Find the following line:
#listen_addresses = 'localhost'
  1. Uncomment the line and change localhost to *:
listen_addresses = '*'
  1. Restart PostgreSQL for the change to take effect:
sudo service postgresql-9.4 restart
  1. Modify the file pg_hba.conf to allow the Mattermost server to communicate with the database.

If the Mattermost server and the database are on the same machine:

  1. Open /var/lib/pgsql/9.4/data/pg_hba.conf as root in a text editor.
  2. Find the following line:
local   all             all                        peer
  1. Change peer to trust:
local   all             all                        trust

If the Mattermost server and the database are on different machines:

  1. Open /var/lib/pgsql/9.4/data/pg_hba.conf as root in a text editor.
  2. Add the following line to the end of the file, where {mattermost-server-IP} is the IP address of the machine that contains the Mattermost server.
host all all {mattermost-server-IP}/32 md5
  1. Reload PostgreSQL:
sudo service postgresql-9.4 reload
  1. Verify that you can connect with the user mmuser.
  1. If the Mattermost server and the database are on the same machine, use the following command:
psql --dbname=mattermost --username=mmuser --password
  1. If the Mattermost server is on a different machine, log into that machine and use the following command:

psql --host={postgres-server-IP} --dbname=mattermost --username=mmuser --password


You might have to install the PostgreSQL client software to use the command.

The PostgreSQL interactive terminal starts. To exit the PostgreSQL interactive terminal, type \q and press Enter.

With the database installed and the initial setup complete, you can now install the Mattermost server.

Report a Problem
Edit on GitHub