【导语】:pgcli 是针对 PostgreSQL 的命令行工具,对 SQL 语句有语法高亮显示,并且能对输出进行主动提醒。
简介
pgcli 是 PostgreSQL 的客户端工具,反对语法高亮,反对主动提醒补全命令,顺嘴一提,MySQL 也有相似的工具叫 mycli。
我的项目地址:<br/>
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 日志文件门路等。
开源前哨
日常分享热门、乏味和实用的开源我的项目。参加保护 10 万 + Star 的开源技术资源库,包含:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。