25 comments

[ 5.0 ms ] story [ 48.7 ms ] thread
Interesting niche and approach. Thanks for pgcli btw. Good luck!
Been using pgcli for a while. Fantastic tool. Thanks for the numerous hours working on this!
Interesting. If I were still working with Oracle, I'd love to see a sqlplus replacement. It has to be one of the most braindead CLIs ever, yet is too often instrumental to getting some actual work done with the shell et al.
I doubt that it's going to happen. People working with Oracle are generally not the kind that would start Open Source projects. If they are, also generally, they won't work with Oracle for long.
Thankfully there are exceptions. Not everyone is trying to be hip. When one needs to build seriously bullet proof, robust systems which must handle extreme amounts of data and do it very fast, Oracle database in RAC configuration is the way to go, and a CLI SQL client is the tool to get there.
Is there a good Oracle CLI client available somewhere, then?
Possibly, but I’m still stuck automating using SQL*Plus. If it just had libreadline [CURSOR UP] history functionality, it would be really powerful (the official documentation on it is 600+ pages). pgsql and Vertica databases don’t need any more client enhancements, but the one database which does doesn’t get one. Talk about a missed market opportunity!
Use rlwrap as another commenter mentioned.
You're assuming that most DBA's or companies using Oracle would pay for more powerful CLI. In my experience with Oracle DBA's, most just use SQLDeveloper.
Can't use SQLDeveloper to automate, because you can't call a Java GUI to run SQL and PL/SQL code inside of an OS package postinstall since it has to run in a headless environment. And if you're automating that way, you want a powerful command line SQL client while you're automating, otherwise it's a pain in the ass to switch back and forth.
Please try usql:

    go get -u -tags oracle github.com/xo/usql
And the one database whose client needs [CURSOR UP] history and autocompletion, Oracle, isn't listed.

Vertica doesn't need an added value client: her client is already pretty good out of the box.

Rlwrap can be used to give history to arbitrary cli apps
Or just use usql.

    go get -u github.com/xo/usql
Autocompletion is the only feature it doesn't have compared to these, and it's significantly easier to work with, and works with more databases. Autocompletion will be done early next year.
How about syntax highlighting?

Keep up the great work on usql

Yes it's had syntax highlighting for about 2 months now. I haven't finished the 0.6.0 release, but if you install from source you can use it from there.
> it's significantly easier to work with

Can you please elaborate?

Same command syntax as psql, so no need to learn a new tool. A single command line client that works with every database, so there's no need to have multiple binaries installed. It's a single static binary, so it can be copied and used from anywhere -- no need for endless pip dependencies.
Any plans for a sqlite version?
One of the core devs have expressed interest in creating an sqlite version. But work hasn't started. If you would like to chip in we would be happy to support you in every which way.