1
0
Fork 0
pgcli/README.rst

141 lines
3.2 KiB
ReStructuredText
Raw Normal View History

2014-10-12 22:19:34 +00:00
A REPL for Postgres
-------------------
This is a postgres client that does auto-completion and syntax highlighting.
2014-10-12 22:17:39 +00:00
2014-12-01 06:22:06 +00:00
.. image:: screenshots/image02.png
2014-12-01 06:02:04 +00:00
.. image:: screenshots/image01.png
2014-10-12 22:17:39 +00:00
2014-12-01 06:27:18 +00:00
Quick Start
-----------
If you already know how to install python pacakges, then you can simply do:
::
$ pip install pgcli
2014-10-12 22:17:39 +00:00
2014-12-01 06:02:04 +00:00
If you don't know how to install python pacakges, please check the `detailed instructions`__.
__ https://github.com/amjith/pgcli#detailed-installation-instructions
2014-12-01 06:02:04 +00:00
2014-12-01 06:27:18 +00:00
Usage
-----
2014-12-01 06:02:04 +00:00
2014-12-01 06:27:18 +00:00
::
2014-10-12 22:17:39 +00:00
2014-12-01 06:27:18 +00:00
$ pgcli [database_name]
or
$ pgcli postgresql://[user[:password]@][netloc][:port][/dbname]
Examples:
::
$ pgcli local_database
$ pgcli postgres://amjith:pa$$w0rd@example.com:5432/app_db
Features
--------
The `pgcli` is written using prompt_toolkit_.
* Auto-completion as you type for SQL keywords as well as tables and
columns in the database.
* Syntax highlighting using Pygments.
* Smart-completion (enabled by default) will suggest context-sensitive completion.
- `SELECT * FROM <tab>` will only show table names.
- `SELECT * FROM users WHERE <tab>` will only show column names.
2014-12-01 06:02:04 +00:00
2014-12-01 06:27:18 +00:00
* Config file is automatically created at ~/.pglirc at first launch.
* Primitive support for `psql` back-slash commands.
.. _prompt_toolkit: https://github.com/jonathanslenders/python-prompt-toolkit
2014-12-01 06:02:04 +00:00
Detailed Installation Instructions:
2014-12-01 06:27:18 +00:00
-----------------------------------
2014-12-01 06:02:04 +00:00
OS X:
2014-12-01 06:27:18 +00:00
=====
2014-12-01 06:02:04 +00:00
For installing Python pacakges it is recommended to use the package manager
called `pip`. Check if `pip` is installed on the system.
::
$ which pip
If it is installed then you can do:
::
$ pip install pgcli
If that fails due to permission issues, you might need to run the command with
sudo permissions.
::
$ sudo pip install pgcli
If pip is not installed check if easy_install is available on the system.
::
$ which easy_install
$ sudo easy_install pgcli
Linux:
2014-12-01 06:27:18 +00:00
======
2014-12-01 06:02:04 +00:00
Check if pip is already available in your system.
2014-12-01 06:02:04 +00:00
::
$ which pip
If it does then install pgcli using the pip command as follows:
::
$ sudo pip install pgcli
If it doesn't exist, use your linux package manager to install `pip`. This might look something like:
::
$ sudo apt-get install python-pip
or
$ sudo yum install python-pip
Then you can install pgcli:
::
$ sudo pip install pgcli
2014-12-01 06:02:04 +00:00
2014-12-11 08:51:38 +00:00
Thanks:
=======
2014-12-11 18:10:26 +00:00
A special thanks to `Jonathan Slenders <https://twitter.com/jonathan_s>`_ for
creating `Python Prompt Toolkit <http://github.com/jonathanslenders/python-prompt-toolkit>`_, which is quite
literally the backbone library, that made this app possible. Jonathan has also
provided valuable feedback and support during the development of this app.
2014-12-11 08:52:57 +00:00
This app includes the awesome `tabulate <https://pypi.python.org/pypi/tabulate>`_ library
2014-12-11 08:51:38 +00:00
for printing the output of tables. The reason for vendoring this library rather than
listing it as a dependency in setup.py, is because I had to make a change to the table
format which is merged back into the original repo, but not yet released inPyPI.
2014-12-11 08:52:57 +00:00
`Click <http://click.pocoo.org/3/>`_ is used for command line option parsing and printing error messages.
2014-12-11 08:52:57 +00:00
Thanks to `psycopg <http://initd.org/psycopg/>`_ for providing a rock solid interface to Postgres dataabase.