pgcli is a command-line interface for PostgreSQL that offers many improvements over psql, like auto-completion and syntax highlighting. Wouldn't it be nice to have a convenient way to use pgcli with your Rails app?
That's where the pgcli-rails gem comes in. It adds a pgcli Rake task to your Rails app. Use it in place of rails dbconsole.
Add the gem to your Gemfile and run bundle install:
gem "pgcli-rails"Running the pgcli Rake task automatically uses your database.yml to launch pgcli with the correct connection options:
$ bin/rake pgcli Version: 1.0.0 Chat: https://gitter.im/dbcli/pgcli Mail: https://groups.google.com/forum/#!forum/pgcli Home: http://pgcli.com my_app_development> [F2] Smart Completion: ON [F3] Multiline: OFF [F4] Emacs-mode Other ways to use it:
# Rails 5 also supports running Rake tasks via the rails command bin/rails pgcli # Connect to the test database RAILS_ENV=test bin/rake pgcli - Rails 4.2+ using PostgreSQL
 - Ruby 3.0+
 - pgcli (
brew install pgclito install on macOS) 
pgcli-rails is simply a Rake task that reuses the existing Rails::DBConsole command class provided by Rails. It subclasses DBConsole to execute pgcli instead of psql. All you need to do is require the pgcli-rails gem by placing it in your Gemfile.
There is no configuration. Like rails dbconsole, it simply uses your ActiveRecord database connection as specified in database.yml.
pgcli-rails is little more than a proof-of-concept at this point. Next steps are:
- Add tests
 - Use Appraisal to test against multiple versions of Rails
 
If you have other ideas, open an issue on GitHub!
Code contributions are also welcome! Read CONTRIBUTING.md to get started.
The gem is available as open source under the terms of the MIT License.