もた日記

くだらないことを真面目にやる

PostgreSQLクライアント pgcli でシンタックスハイライトと補完

pgcli


github.com
公式サイト
http://pgcli.com/


pgcliというPostgreSQLクライアントを使用すると下図のようにシンタックスハイライトと入力補完が使えるので非常に便利。

f:id:wonder-wall:20160929212812g:plain

pgcliのインストール


Pythonのパッケージ管理システムpipを使ってインストールする。

$ pip install pgcli

Macの場合はbrewでインストールできる。

$ brew install pgcli


pgcliの使い方


ヘルプは以下のようになっており、psqlコマンドのように使えばデータベースに接続できる。

$ pgcli --version
Version: 1.2.0
$ pgcli --help
Usage: pgcli [OPTIONS] [DATABASE] [USERNAME]

Options:
  -h, --host TEXT          Host address of the postgres database.
  -p, --port INTEGER       Port number at which the postgres instance is
                           listening.
  -U, --user TEXT          User name to connect to the postgres database.
  -W, --password           Force password prompt.
  -w, --no-password        Never prompt for password.
  --single-connection      Do not use a separate connection for completions.
  -v, --version            Version of pgcli.
  -d, --dbname TEXT        database name to connect to.
  --pgclirc TEXT           Location of pgclirc file.
  -D, --dsn TEXT           Use DSN configured into the [alias_dsn] section of
                           pgclirc file.
  -R, --row-limit INTEGER  Set threshold for row limit prompt. Use 0 to
                           disable prompt.
  --help                   Show this message and exit.
$ pgcli -h localhost -p 5432 -U guest sample_db
Version: 1.2.0
Chat: https://gitter.im/dbcli/pgcli
Mail: https://groups.google.com/forum/#!forum/pgcli
Home: http://pgcli.com
guest@localhost:sample_db>


オプション


F2キーを押すとSmart Completionのオン/オフが切り替えられる(デフォルトはオン)。オン時にはテーブル名やカラム名も補完されるようになる。

f:id:wonder-wall:20160929231610p:plain

F3キーを押すとMultilineのオン/オフが切り替えられる(デフォルトはオフ)。オン時にはリターンキーを押すと改行されるので、文の最後で;を入力する。

f:id:wonder-wall:20160929231622p:plain

F4キーを押すとEmacs-modeVi-modeキーバインド切り替えができる(デフォルトはEmacs-mode)。


補足


pgclipython-prompt-toolkitというインタラクティブなコマンドを開発できるライブラリを使っているらしい。下記ページにpgcli以外のプロジェクトが紹介されているので使えそうなのがあるかもしれない。

github.com