2.7 KiB
		
	
	
	
	
	
			
		
		
	
	| stage | group | info | 
|---|---|---|
| Data Stores | Database | Any user with at least the Maintainer role can merge updates to this content. For details, see https://docs.gitlab.com/ee/development/development_processes.html#development-guidelines-review. | 
Database Lab access using the pgai Ruby gem
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 psqlsessions 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 connectto connect to a particular database. For instance, to connect to themaindatabase:pgai connect main
- 
Once done with the clone, you can destroy it: pgai destroy main