PostgreSQL
pgcli 是 PostgreSQL 的客户端工具,支持语法高亮,支持自动提示补全命令。
项目地址
https://github.com/dbcli/pgcli
简单使用
下载安装
pgcli本质上是一个python库,所以它的安装方式和其他python库安装一样:
$ pip install -U pgcli
# Only on Debian based Linux (e.g. Ubuntu, Mint, etc)
$ sudo apt-get install pgcli
# Only on macOS
$ brew install pgcli
使用
连接数据库的语法为:
$ pgcli [database_name]
或者
$ pgcli postgresql://[user[:password]@][netloc][:port][/dbname][?extra=value[&other=other-value]]
例如:
$ pgcli local_database
$ pgcli postgres://amjith:pa$$w0rd@example.com:5432/app_db?sslmode=verify-ca&sslrootcert=/myrootcert
更详细的用法,使用—help选项查看:
$ pgcli --help
Usage: pgcli [OPTIONS] [DBNAME] [USERNAME]
Options:
-h, --host TEXT PostgreSQL数据库所在主机地址.
-p, --port INTEGER PostgreSQL数据库实例的端口.
-U, --username TEXT PostgreSQL数据库用户名.
-u, --user TEXT PostgreSQL数据库用户名.
-W, --password 强制提示输入密码.
-w, --no-password 不提示输入密码.
--single-connection 只是用单一的连接.
-v, --version 查看pgcli版本.
-d, --dbname TEXT 目标连接的数据库.
--pgclirc PATH pgclirc文件的路径.
-D, --dsn TEXT 使用配置到[alias_dsn]部分的DSN pgclirc文件.
--list-dsn 配置到[alias_dsn]部分的DSN列表pgclirc文件.
--row-limit INTEGER 设置行限制提示的阈值。使用0禁用提示.
--less-chatty 跳过启动时的介绍和退出时的再见.
--prompt TEXT 提示格式(默认: "\u@\h:\d> ").
--prompt-dsn TEXT 使用DSN别名的连接的提示格式(默认: "\u@\h:\d> ").
-l, --list 列出可用的数据库,然后退出.
--auto-vertical-output 如果输入内容比终端宽度宽,自动切换到垂直输出模式.
--warn / --no-warn 在运行危险查询之前发出警告.
pgcli可以读取psql的环境变量,如PGHOST, PGPORT, PGUSER, PGPASSWORD, PGDATABASE;也使用ssl连接来连接ProstgreSQL,设置ssl相关的内容如下:
export PGSSLMODE="verify-full"
export PGSSLCERT="/your-path-to-certs/client.crt"
export PGSSLKEY="/your-path-to-keys/client.key"
export PGSSLROOTCERT="/your-path-to-ca/ca.crt"
pgcli -h localhost -p 5432 -U username postgres
其他功能介绍
- 输入SQL关键字或数据库表、列时自动提示、补全
- 使用Pygments突出显示语法
- 根据上下文智能猜测目的,如
SELECT * FROM <tab>
将仅显示表名称。SELECT * FROM users WHERE <tab>
将仅显示列名称。
- 对psql反斜杠命令的原始支持
- 优雅可视化的表格内容展示
- 首次启动时会自动创建一个配置文件,~/.config/pgcli/config
- 该文件用于对pgcli使用的一些配置,如是否启用自动补全功能,pgcli日志文件路径等