利用上の注意があります!
こちらを確認した上でインストールお願いします。
はじめに
pgcliについてやMac/Linuxへのインストール方法は下記の参考サイトを参照下さい。
pgcli の Windows7 環境へのインストール情報は本家サイトを見ても見当たらず、手こずる要素があったたので共有します。
(どうやら、開発者がWindows機を持っていないため(!)、Windowsのインストール手順をメンテナンス出来ないようです…)
きっかけ
PostgreSQLのGUIクライアントツールはpgAdmin
やPSqlEdit
という有名なツールがあるようですが、CLIツールの方は良さそうなのが見当たらなかったので、pgcli
を選択しました。
pgAdmin: PostgreSQL administration and management tools
http://www.pgadmin.org/
PSqlEdit - PostgreSQL用SQLエディタ&実行環境
http://www.hi-ho.ne.jp/a_ogawa/psqledit/
Windows環境へのインストール手順は前述の通り本家サイトに記載がなかったのですが、pgcli
はPythonの標準モジュールで作成されているためおそらく動くとのこと。
というわけでチャレンジしてみました。
手順
以下のissueを参考に。
how to use pgcli on win7
https://github.com/dbcli/pgcli/issues/108
Python3.4.2をインストール
以下からCドライブ直下にPython3.4.2をダウンロード&インストールします。
https://www.python.org/downloads/release/python-342/
インストール後、pythonのパスを通しておきます。
変数名:PYTHON_HOME
変数値:C:\Python34
変数名:Path
変数値:~;%PYTHON_HOME%
パスが通っていることの確認します。
C:\>python -V
Python 3.4.3
get-pip.pyをダウンロード
以下の.py
ファイルをCドライブ直下に配備します。
https://bootstrap.pypa.io/get-pip.py
先ほどDLしてきたget-pip.py
を実行します。
# 実行
C:\>python C:\get-pip.py
# 実行ログ
Downloading pip-7.0.3-py2.py3-none-any.whl (1.1MB)
100% |################################| 1.1MB 332kB/s
Collecting wheel
Downloading wheel-0.24.0-py2.py3-none-any.whl (63kB)
100% |################################| 65kB 630kB/s
Installing collected packages: pip, wheel
Found existing installation: pip 6.0.8
Uninstalling pip-6.0.8:
Successfully uninstalled pip-6.0.8
Successfully installed pip-7.0.3 wheel-0.24.0
win-psycopg
そのままpipだとWindows7環境ではエラーになったので、win-psycopg
をインストールします。
このwin-psycopg
とはPythonのpostgresqlインターフェースのことらしいです。
下記のサイトからpsycopg2-2.6.1.win32-py3.4-pg9.4.4-release.exe
をダウンロード&インストールします。
win-psycopg is a Windows port of the psycopg python-postgresql database interface
http://www.stickpeople.com/projects/python/win-psycopg/
pipでpgcliをインストール
準備完了です。pip
経由でpgcli
をインストールします。
バージョンは現時点で最新の0.17.0です。
# インストール実行
C:\Python34\Scripts\pip install pgcli
# 実行ログ
ollecting pgcli
Using cached pgcli-0.17.0.tar.gz
ollecting click>=3.2 (from pgcli)
Using cached click-4.0-py2.py3-none-any.whl
ollecting Pygments>=2.0 (from pgcli)
Using cached Pygments-2.0.2-py3-none-any.whl
ollecting prompt-toolkit==0.37 (from pgcli)
Using cached prompt_toolkit-0.37-py3-none-any.whl
equirement already satisfied (use --upgrade to upgrade): psycopg2>=2.5.4 in c:\python34\lib\site-packages (from pgcli)
ollecting sqlparse==0.1.14 (from pgcli)
Downloading sqlparse-0.1.14.tar.gz (55kB)
100% |################################| 57kB 282kB/s
ollecting wcwidth (from prompt-toolkit==0.37->pgcli)
Downloading wcwidth-0.1.4-py2.py3-none-any.whl
ollecting six>=1.8.0 (from prompt-toolkit==0.37->pgcli)
Downloading six-1.9.0-py2.py3-none-any.whl
uilding wheels for collected packages: pgcli, sqlparse
Running setup.py bdist_wheel for pgcli
Stored in directory: C:\Users\mano\AppData\Local\pip\Cache\wheels\d1\14\ca\e5e274158967905fd83a60b7f351551869cede6c2710829de9
Running setup.py bdist_wheel for sqlparse
Stored in directory: C:\Users\mano\AppData\Local\pip\Cache\wheels\6c\36\6c\857636f3565e75277d8ca9e8456ca1e2ce6dfa8387a69d9a0c
uccessfully built pgcli sqlparse
nstalling collected packages: click, Pygments, wcwidth, six, prompt-toolkit, sqlparse, pgcli
uccessfully installed Pygments-2.0.2 click-4.0 pgcli-0.17.0 prompt-toolkit-0.37 six-1.9.0 sqlparse-0.1.14 wcwidth-0.1.4
pgcliの実行
# -h ホスト名
# -p ポート番号
# -U ユーザ名 データベース名
C:\>Python34\Scripts\pgcli -h 127.0.0.1 -p 5432 -U xxx xxx
# 実行ログ
Version: 0.17.0
Chat: https://gitter.im/dbcli/pgcli
Mail: https://groups.google.com/forum/#!forum/pgcli
Home: http://pgcli.com
gis>
感触
本当にちゃんとWindowsでも動くか心配しましたが、Windowsでも補完やサジェストが上手く動きます!!
タブ選択も問題ないです。
そして予想以上サクサク動いてくれるためストレス無く仕事に集中できます!
使い勝手向上策
pgcliコマンドを一々叩くのも面倒なのでバッチファイル化すると幸せになれます。
環境情報を覚えておく必要もなくなります。
rem pgcliを起動
call C:\Python34\Scripts\pgcli -h 127.0.0.1 -p 5432 -U ${username} ${dbname}
pause
exit
(2015/06/25 22:30 追記)制約
以下のIssuesが上がってました‥。
Windowsでも全角入力でクラッシュする危険性があります。
non-ascii character make pgcli crash #171
https://github.com/dbcli/pgcli/issues/171
以下のコマンドで最新版のpgcli
を取得するとクラッシュ自体は防ぐことが出来るようになりました。
ただし、未だに全角入力が出来ません。
上記のIssuesの対応待ちです。
C:\Python34\Scripts\pip install -U -e git+ssh://git@github.com/dbcli/pgcli.git#egg=pgcli
ちなみに原因はpgcli
本体の不具合ではなくpgcli
が利用しているprompt-tools
というモジュールが起因らしいです。
そのprmpt-tools
がWindows対応が弱いらしく、回避するにはcmder
を使うと良いよと本家サイトに記載してましたが、pgcli
はcmder
だと起動すらしませんでした・・・。
解決までWatchを続けたいと思います。
まとめ
Windows環境でもMac/Linux環境の評判通りハイライトも綺麗に表示してくれますし補完も強力です!
皆さんもぜひWindows環境にインストールしてみてください!