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 <database_name>
    
  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