pgai
Ruby gem
Database Lab access using the WARNING:
The pgai
gem has not yet been updated to use the new database lab instances so you will only be able to access gitlab-production-main
and gitlab-production-ci
using this tool.
@mbobin created the pgai
Ruby Gem that
greatly simplifies access to a database clone, with support for:
- Access to all database clones listed in the Postgres.ai instances page;
- Multiple
psql
sessions on the same clone.
If you have AllFeaturesUser
psql
access,
you can follow the steps below to configure the pgai
Gem:
-
To get started, you need to gather some values from the Postgres.ai instances page:
-
Go to the instance that you want to configure and the on right side of the screen.
-
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:1234" --token TOKEN --environment-id <environment-id>
ssh -NTML 1234:localhost:<environment-port> <postgresai-user>@<postgresai-proxy> -i ~/.ssh/id_rsa
-
-
Add the following snippet to your SSH configuration file at
~/.ssh/config
, replacing the variable values:Host pgai-proxy HostName <postgresai-proxy> User <postgresai-user> IdentityFile ~/.ssh/id_ed25519
-
Run the following command so you can accept the server key fingerprint:
ssh pgai-proxy
-
Run the following commands:
gem install pgai # Grab an access token: https://console.postgres.ai/gitlab/tokens # GITLAB_USER is your GitLab handle pgai config --dbname=gitlabhq_dblab --prefix=$GITLAB_USER --proxy=pgai-proxy # 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 <environment-id> --port <environment-port>
-
Once this one-time configuration is done, you can use
pgai connect
to connect to a particular database. For instance, to connect to themain
database:pgai connect main
-
Once done with the clone, you can destroy it:
pgai destroy main