[PostGresql CLI]. Alternativa moderna y más amigable a la herramienta clásica psql, diseñada específicamente para interactuar con bases de datos PostgreSQL desde la terminal, pero con mejoras significativas en usabilidad: Autocompletado inteligente, resaltado de sintaxis en tiempo real, sugerencias mientras se escribe, soporte para comandos internos estilo psql, soporte para múltiples formatos de salida [csv, json...], etc.
$ pgcli -h localhost -p 5432 -U usuario nombre_bd
$ pgcli -U postgres myapp_db (Si no se especifica contraseña, la pedirá interactivamente o se puede usar .pgpass para evitarlo).
$ pgcli "postgresql://user:password@localhost:5432/mydb"
$ pgcli -U postgres mydb -c "SELECT version();"
$ pgcli -U user mydb -c "SELECT * FROM logs;" --csv > logs.csv
Algunos comandos en interfaz interactiva:
> SELECT * FROM us (pulsado TAB sugerirá "users", "user_roles"...)
> SELECT id, na (pulsado TAB sugerirá "name", national:id"...)
> \d u (muestra tablas que empiecen por "u")
> \dt (lista todas las tablas)
> \l (lista todas las bases de datos)
> \c otra_bd (cambia a otra base de datos)
Ejemplo de configuración:
$ nano ~/.config/pgcli/config
[main]
multi_line = True
vi_mode = False
auto_expand = False
theme = monokai