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:
- 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 --prefix=$GITLAB_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 <environment-id> --port <environment-port> -n <database_name>
-
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