Skip to main content

Set up a PostgreSQL Instance Store

This guide outlines the steps to set up an Ascend Instance Store with PostgreSQL.

Before you begin

Prerequisites

Network access requirements

Your PostgreSQL instance must allow connections from these Ascend IP addresses:

52.205.57.63
44.217.175.189
44.217.47.213
54.173.192.81
3.227.46.125
Self-hosted instances

If you're running a self-hosted Ascend Instance, you'll need to allowlist your own cluster's egress IP addresses instead of the ones listed above.

Configure your Ascend Instance Store

  1. Access your Ascend Instance settings:

    • Navigate to your Instance URL
    • Go to Settings > Instance
  2. Add your database password to the Instance Vault:

    • Scroll to Instance Vault section
    • Select Manage Secrets
    • Click Add Secret
    • For the Secret Details:
      • Use a Name like ascend-instance-store-postgres-admin-password
      • Input the password in Value
  3. Configure the Instance Store:

    • Return to Settings > Instance
    • Click Edit Instance Store
    • Select PostgreSQL
    • Enter the following details:
      • Hostname (the IP address or domain name where your PostgreSQL database can be reached)
      • User
      • Secret name from vault (e.g., ascend-instance-store-postgres-admin-password)
      • Database name (recommended: ascend_instance)
      note

      On GCP, you cannot give your database the same name as your PostgreSQL instance. If you're using GCP, consider naming your instance ascend-instance and your database ascend-instance-db.

      • Schema (recommended: instance_data)
  4. Connect to your PostgreSQL instance via psql:

    HOSTNAME=<YOUR-HOSTNAME>
    PASSWORD=<YOUR-POSTGRES-USER-PASSWORD>

    psql "host=${HOSTNAME} port=5432 user=postgres dbname=postgres password=${PASSWORD}"

    If you see postgres=> at the beginning of your output, you're connected to the database and ready for the next step!

  5. Click Get Setup Script and copy & paste the commands into your terminal. Alternatively, you can run the commands below (after setting the variables).

    /* Below we are creating a dedicated database, schema, and user for storing your instance information in Postgres */
    \set INSTANCE_DB '<instance-db>' \;
    \set INSTANCE_SCHEMA '<instance-schema>' \;
    \set INSTANCE_USER '<instance-user>' \;
    CREATE DATABASE :INSTANCE_DB;

    \connect :INSTANCE_DB \;
    CREATE SCHEMA :INSTANCE_SCHEMA;

    /* Change the below password and store it in your vault with key POSTGRES_PASSWORD */
    CREATE USER :INSTANCE_USER WITH PASSWORD '<your-password>';

    GRANT ALL ON SCHEMA :INSTANCE_SCHEMA TO :INSTANCE_USER;
  6. In the Ascend UI, click Check and Update Instance Store

🎉 Congratulations! Your Ascend Instance is now connected to PostgreSQL.