PostgreSQLコマンドラインツール--pgcli試用
5463 ワード
概要
pgcliはPostgreSQLに対するコマンドラインツールで、SQLを文法的にハイライト表示し、入力を自動的に提示できるのが特徴です.(また、MySQLにも似たようなコマンドラインツールmycliがあります).
Webサイト:http://pgcli.com/
ライセンス契約:BSD 3-clause license
開発言語:Python
サポートシステム:Linux、OS X、Windowsは理論的にはできますが、まだテストされていません.
インストールの試用
環境:centos 32 bit.
データベース:PostgreSQL 9.4
1.PostgreSQLのインストール
コンパイルインストールまたはインストールパッケージのグラフィックス化インストールが可能です.参考:PostgreSQLのLinuxでのソースコードのコンパイルインストール.
2.pythonのインストール
pythonをインストールします.参考:python開発環境PostgreSQLデータベースの構築と接続.
3.python-pipのインストール
まずyumでpython-pipをインストールしてみたところ、利用可能なパッケージがなかった.
次に、特定のアドレスを設定してインストールし、インストールに成功しました.
4.pgcliのインストール
エラー:
解決方法:pg_configはPostgreSQLのbinディレクトリの下にあるので、環境変数PATHでbinパスを構成します.
インストールを再実行するには、次の手順に従います.
5.pgcliを実行し、PostgreSQLに接続してクエリーを実行する
図1.pgcliがsql文に対して構文的にハイライト表示されていることがわかります.
図2.pgcliは入力に自動ヒント機能があることがわかる(簡単な試験環境では反応速度が理想的であり、他の場合は試験が必要である).
pgcliはPostgreSQLに対するコマンドラインツールで、SQLを文法的にハイライト表示し、入力を自動的に提示できるのが特徴です.(また、MySQLにも似たようなコマンドラインツールmycliがあります).
Webサイト:http://pgcli.com/
ライセンス契約:BSD 3-clause license
開発言語:Python
サポートシステム:Linux、OS X、Windowsは理論的にはできますが、まだテストされていません.
インストールの試用
環境:centos 32 bit.
データベース:PostgreSQL 9.4
1.PostgreSQLのインストール
コンパイルインストールまたはインストールパッケージのグラフィックス化インストールが可能です.参考:PostgreSQLのLinuxでのソースコードのコンパイルインストール.
2.pythonのインストール
pythonをインストールします.参考:python開発環境PostgreSQLデータベースの構築と接続.
3.python-pipのインストール
まずyumでpython-pipをインストールしてみたところ、利用可能なパッケージがなかった.
[[email protected] ~]# yum install python-pip
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.cqu.edu.cn
* updates: mirrors.163.com
base | 3.7 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
updates/primary_db | 3.1 MB 00:04
Setting up Install Process
No package python-pip available.
Error: Nothing to do
次に、特定のアドレスを設定してインストールし、インストールに成功しました.
[[email protected] ~]# curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1379k 100 1379k 0 0 67361 0 0:00:20 0:00:20 --:--:-- 2612k
[[email protected] ~]# python get-pip.py
Collecting pip
Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', gaierror(-2, 'Name or service not known'))': /simple/pip/
/tmp/tmpEAjwcs/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
Downloading pip-7.1.2-py2.py3-none-any.whl (1.1MB)
100% |████████████████████████████████| 1.1MB 209kB/s
Collecting setuptools
Downloading setuptools-19.1.1-py2.py3-none-any.whl (463kB)
100% |████████████████████████████████| 466kB 617kB/s
Collecting wheel
Downloading wheel-0.26.0-py2.py3-none-any.whl (63kB)
100% |████████████████████████████████| 65kB 1.4MB/s
Collecting argparse (from wheel)
Downloading argparse-1.4.0-py2.py3-none-any.whl
Installing collected packages: pip, setuptools, argparse, wheel
Successfully installed argparse-1.4.0 pip-7.1.2 setuptools-19.1.1 wheel-0.26.0
4.pgcliのインストール
[[email protected] ~]# pip install pgcli
エラー:
Error: pg_config executable not found.
Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:
python setup.py build_ext --pg-config /path/to/pg_config build ...
or with the pg_config option in 'setup.cfg'.
----------------------------------------
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build/psycopg2
解決方法:pg_configはPostgreSQLのbinディレクトリの下にあるので、環境変数PATHでbinパスを構成します.
[[email protected] ~]# export PATH=$PATH:/opt/PostgreSQL/9.4/bin/
インストールを再実行するには、次の手順に従います.
[[email protected] ~]# pip install pgcli
5.pgcliを実行し、PostgreSQLに接続してクエリーを実行する
[[email protected] ~]# 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.
-v, --version Version of pgcli.
-d, --dbname TEXT database name to connect to.
--pgclirc TEXT Location of pgclirc file.
--help Show this message and exit.
[[email protected] ~]# pgcli -h -p 5433 -U postgres
could not translate host name "-p" to address: Name or service not known
[[email protected] ~]# pgcli -h 127.0.0.1 -p 5433 -U postgres -d postgres
Password:
Version: 0.20.1
Chat: https://gitter.im/dbcli/pgcli
Mail: https://groups.google.com/forum/#!forum/pgcli
Home: http://pgcli.com
postgres>
Time: 0.000s
postgres> select count(*) from public.a0;
+---------+
| count |
|---------|
| 0 |
+---------+
SELECT 1
Time: 0.030s
図1.pgcliがsql文に対して構文的にハイライト表示されていることがわかります.

図2.pgcliは入力に自動ヒント機能があることがわかる(簡単な試験環境では反応速度が理想的であり、他の場合は試験が必要である).
