Configure the Kong Gateway datastore on Linux

Uses: Kong Gateway
Related Documentation
Incompatible with
konnect
Minimum Version
Kong Gateway - 3.4
TL;DR

After installing the database, configure kong.conf to connect to PostgreSQL, run kong migrations bootstrap to initialize the schema, then start Kong Gateway.

Prerequisites

Install PostgreSQL on Ubuntu using the following steps:

  1. Update the package list:
    sudo apt update
    
  2. Install PostgreSQL:
    sudo apt install -y postgresql postgresql-contrib
    
  3. Enable PostgreSQL to start on boot:
    sudo systemctl enable postgresql
    

Set the following variables so that kong.conf can interact with the datastore:

  export KONG_DATABASE=postgres
  export KONG_PG_HOST=127.0.0.1
  export KONG_PG_PORT=5432
  export KONG_PG_USER=kong
  export KONG_PG_PASSWORD=super_secret
  export KONG_PG_DATABASE=kong

Configure PostgreSQL

  1. Switch to the default PostgreSQL user:

     sudo -i -u postgres
    
  2. Start the PostgreSQL shell:

     psql 
    
  3. Create a kong user and password:

     CREATE USER kong WITH PASSWORD 'super_secret';
    
  4. Create a database titled kong and assign the user as an owner:

     CREATE DATABASE kong OWNER kong;
    
  5. Exit PostgreSQL, and exit the PostgreSQL shell:

     exit
    

Run a Kong Gateway database migration

kong migrations is used to configure the database for the first time. Running bootstrap forces Kong Gateway to bootstrap the database set up in the previous step and run all of the migrations:

kong migrations bootstrap

This command must be run as the root user.

Validate

You can validate that the datastore was configured correctly by starting Kong Gateway.

  1. Start Kong Gateway:

     kong start
    
  2. Verify the installation:

     curl -i http://localhost:8001
    

    If you receive a 200 status code, Kong Gateway was configured correctly.

Something wrong?

Help us make these docs great!

Kong Developer docs are open source. If you find these useful and want to make them better, contribute today!