Re: My humble tribute to psql -- usql v0.5.0

Поиск
Список
Период
Сортировка
От Kenneth Shaw
Тема Re: My humble tribute to psql -- usql v0.5.0
Дата
Msg-id CAAyX=LGf=4oNMQXZ=sSr1s8u_ykFXwTo3hoOqGjyb3wNCHsp1Q@mail.gmail.com
обсуждение исходный текст
Ответ на My humble tribute to psql -- usql v0.5.0  (Kenneth Shaw <kenshaw@gmail.com>)
Ответы Re: My humble tribute to psql -- usql v0.5.0  (Karsten Hilbert <Karsten.Hilbert@gmx.net>)
Список pgsql-general
On Mon, Apr 3, 2017 at 8:51 PM, Merlin Moncure <mmoncure@gmail.com> wrote:
> Wow! this is _fantastic_.  I use "sqsh" for connecting to sql server
> -- this is already a significant improvement in many ways (based on
> playing around for around 10 minutes).  This app would fill a real
> need for me.  Here is some feedback:

Cool, I'm glad it will be useful to more than just myself.

>
> *) Does UTF8 support work?  It appears not to for me:
> => select '这是一个';
>   col0
> +------+
>   ????
> (1 rows)

It should work. What database did you try that with? I haven't tried
to do heavy / extensive utf8 tests, but all of Go (including the
"readline" package that is used for capturing input are native utf8.
The problem is potentially a connect option in the DSN for the
database needs to be manually added, or some other reason I'm not
aware of. However, this is 100% part/parcel to usql, so I'd like to
figure it out ASAP. I also plan to provide the \encoding equivalents
for the various databases, but just haven't gotten to that yet.

>
> *) Is there any way to disable SSL to postgres in the DSN?  I get,
> error: pq: SSL is not enabled on the server

usql pg://user:pass@host/?sslmode=disable

>
> *) Interacting with PAGER is a really essential feature

Yes, for me too! I just haven't had a chance to get to that. This is
actually a bit more complicated in general.

>
> *) Ditto \copy (to my limited understanding this would be a fairly big
> development challenge)

So, it's not "too difficult" as things go -- for pg at least, this is
built into the protocol, for the other databases, however, the issue
is that they don't necessarily have the equivalent in their protocol
or possible in the underlying Go driver. I'm likely going to do this
slightly differently than relying on the protocol version, and the
plan is to bring in support when I add in the ability to
simultaneously work with multiple connections. The point would be to
essentially write a "migration" script that would be something like:

\copy -N connection1 (SELECT * FROM mytable) to -N connection2 mytable

I'm still in the process of figuring out what this is

>
> *) Advise reserving -h command line switch for 'host', not --help

Not all the various command line options are there yet. It's better to
just use the URL style for connections.

>
> *) \g switch is not working FWICT (it outputs to stdout) -- this makes
> it hard to benchmark performance since output to display is the main
> bottlenect.  First impressions though is that the tool is pretty fast.

Yeah -- output redirection (\o) is also not available yet. This is
would have been part of v0.5.0, but I just didn't have enough time,
and wanted to get the variable stuff out. Look for this in the next
couple days.

Anyways, I really appreciate the feedback! I'm hoping this will grow
into its own project, but personally, I'm just glad I took the time
(why did I not do this 10 years ago??) to juts build out something
that works the same with every database.


В списке pgsql-general по дате отправления:

Предыдущее
От: Alex Kliukin
Дата:
Сообщение: Re: PostgreSQL and Kubernetes
Следующее
От: Karsten Hilbert
Дата:
Сообщение: Re: My humble tribute to psql -- usql v0.5.0