Pgai
Simple CLI wrapper around Postgres.ai CLI to drop directly into a PSQL session.
Installation
Install the gem by executing:
gem install pgai
Configuration
For an overview of available commands, execute:
pgai -h
Before usage pgai config must be executed and at least an environment must be configured with pgai env add.
An access token will be required and it can be obtained from: https://console.postgres.ai/gitlab/tokens
Example:
pgai config --dbname=gitlabhq_dblab --prefix=<gitlab handle> --proxy=<alias> --exe=<optional /path/to/dblab>
To configure environments:
pgai env add --alias ci --id ci-database --port 12345
The environment id, port, and proxy domain can be found by clicking on the Connect button on a database instance page.
Configuring the proxy attributes must be done via the ~/.ssh/config file. Example:
Host <alias>
HostName <domain.postgres.ai>
User <username>
IdentityFile ~/.ssh/id_ed25519
dblab binary file
This CLI is built around around the dblab CLI and it looks for it at the following locations:
- at the path specified in the config file if specified when running the
pgai configcommand - in
$PATH - at
~/.dblab/dblab
If it's not found at any of the specified locations, a copy will be downloaded to ~/.dblab/dblab.
Usage
pgai connect <env alias>
Multiple connect commands for an environment will connect to the same clone, it won't start a new one.
Features
- multiple psql sessions to the same clone
- multiple environments support
- automatic port forward management
- prevents system sleep while psql sessions are active via
caffeinate
Contributing
Bug reports and pull requests are welcome on GitLab at https://gitlab.com/mbobin/pgai.