Release v1.0.0

Pgcli is a command line interface for Postgres database that does auto-completion and syntax highlighting. You can install this version using:

$ pip install -U pgcli

Check detailed instructions if you're having difficulty.

This is a major update with a ton of new features a lot of bug fixes. Some of the highlights include support for Redshift and Postgres 8.x versions. Added meta commands such as \copy, \o, \dx path completion for \i. The completions for JOIN and COLUMN were enhanced.

Please file any bug reports to github issues:


  • Upgrade to prompt-toolkit 1.0.0. (Thanks: Jonathan Slenders).
  • Add support for o command to redirect query output to a file. (Thanks: Tim Sanders).
  • Add i path completion. (Thanks: Anthony Lai).
  • Connect to a dsn saved in config file. (Thanks: Rodrigo Ramírez Norambuena).
  • Upgrade sqlparse requirement to version 0.1.19. (Thanks: Fernando L. Canizo).
  • Add timestamptz to DATE custom extension. (Thanks: Fernando Mora).
  • Ensure target dir exists when copying config. (Thanks: David Szotten).
  • Handle dates that fall in the B.C. range. (Thanks: Stuart Quin).
  • Pager is selected from config file or else from environment variable. (Thanks: Fernando Mora).
  • Add support for Amazon Redshift. (Thanks: Timothy Cleaver).
  • Add support for Postgres 8.x. (Thanks: Timothy Cleaver and Darik Gamble)
  • Don't error when completing parameter-less functions. (Thanks: David Szotten).
  • Concat and return all available notices. (Thanks: Stuart Quin).
  • Handle unicode in record type. (Thanks: Amjith Ramanujam).
  • Added humanized time display. Connect #396. (Thanks: Irina Truong).
  • Add EXPLAIN keyword to the completion list. (Thanks: Amjith Ramanujam).
  • Sort completions based on most recently used. (Thanks: Darik Gamble)
  • Expand '*' into column list during completion. This can be triggered by hitting <tab> after the '*' character in the sql while typing. (Thanks: Joakim Koljonen)
  • Add a limit to the warning about too many rows. This is controlled by a new config value in ~/.config/pgcli/config. (Thanks: Anže Pečar)
  • Improved argument list in function parameter completions. (Thanks: Joakim Koljonen)
  • Column suggestions after the COLUMN keyword. (Thanks: Darik Gamble)
  • Filter out trigger implemented functions from the suggestion list. (Thanks: Daniel Rocco)
  • State of the art JOIN clause completions that suggest entire conditions. (Thanks: Joakim Koljonen)
  • Suggest fully formed JOIN clauses based on Foreign Key relations. (Thanks: Joakim Koljonen)
  • Add support for dx meta command to list the installed extensions. (Thanks: Darik Gamble)
  • Add support for copy command. (Thanks: Catherine Devlin)


  • Fix bug where config writing would leave a '~' dir. (Thanks: James Munson).
  • Fix auto-completion breaking for table names with caps. (Thanks: Anthony Lai).
  • Fix lexical ordering bug. (Thanks: Anthony Lai).
  • Use lexical order to break ties when fuzzy matching. (Thanks: Daniel Rocco).
  • Fix the bug in auto-expand mode when there are no rows to display. (Thanks: Amjith Ramanujam).
  • Fix broken i after #395. (Thanks: David Szotten).
  • Fix multi-way joins in auto-completion. (Thanks: Darik Gamble)
  • Display null values as <null> in expanded output. (Thanks: Amjith Ramanujam).
  • Robust support for Postgres version less than 9.x. (Thanks: Darik Gamble)

Internal Changes:

  • Update config file location in README. (Thanks: Ari Summer).
  • Explicitly add wcwidth as a dependency. (Thanks: Amjith Ramanujam).
  • Add tests for the format_output. (Thanks: Amjith Ramanujam).
  • Lots of tests for pgcompleter. (Thanks: Darik Gamble).
  • Update pgspecial dependency to 1.4.0.
  • Added sdist upload to release script. (Thanks: Irina Truong).