Files
gitlabhq/doc/development/database/database_lab_pgai.md

2.4 KiB

stage, group, info, title
stage group info title
Data Access Database Frameworks Any user with at least the Maintainer role can merge updates to this content. For details, see https://docs.gitlab.com/development/development_processes/#development-guidelines-review. Database Lab access using the `pgai` Ruby gem

@mbobin created the pgai Ruby Gem that greatly simplifies access to a database clone, with support for:

If you have AllFeaturesUser psql access, you can follow the steps below to configure the pgai Gem:

  1. To get started, you need to gather some values from the Postgres.ai instances page:

    1. Go to the instance that you want to configure and the on right side of the screen.

    2. Under Connection, select Connect. The menu might be collapsed.

      A dialog with everything that's needed for configuration appears, using this format:

      dblab init --url "http://127.0.0.1:<local-port>" --token TOKEN --environment-id <environment-id>
      
      ssh -NTML <local-port>:localhost:<instance-port> <instance-host> -i ~/.ssh/id_rsa
      
  2. To configure ssh, follow the instruction at Access the console with psql, replacing ${USER} with your postgres.ai username.

  3. Run the following commands:

    gem install pgai
    
    # Before running the following command,
    # grab an access token from https://console.postgres.ai/gitlab/tokens
    pgai config --prefix=<postgresai-user>
    
    # Grab the respective port values from https://console.postgres.ai/gitlab/instances
    # for the instances you'll be using (in this case, for the `main` database instance)
    pgai env add --alias main --id <instance-host> --port <instance-port> -n gitlabhq_dblab
    
  4. Once this one-time configuration is done, you can use pgai connect to connect to a particular database. For instance, to connect to the main database:

    pgai connect main
    
  5. Once done with the clone, you can destroy it:

    pgai destroy main