The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Представлен usql, универсальный интерфейс командной строки д..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от opennews (??) on 03-Мрт-17, 09:52 
В рамках проекта usql (https://github.com/knq/usql) развивается утилита с универсальным интерфейсом командной строки, поддерживающим работу с СУБД PostgreSQL, MySQL, Oracle, SQLite и Microsoft SQL Server. Реализованные в usql команды повторяют интерфейс утилиты psql (https://www.postgresql.org/docs/9.2/static/app-psql.html), развиваемой проектом PostgreSQL. Особенностью usql является использование схемы dburl (https://github.com/knq/dburl) для задания параметров подключения к БД, напоминающей URL (например, "pg://user:pass@localhost/dbname" или "file:dbname.sqlite3"). Целью разработки usql является создание прозрачной замены psql, не привязанной к конкретной СУБД. Код написан на языке Go и распространяется (https://github.com/knq/usql) под лицензией MIT.


URL: https://news.ycombinator.com/item?id=13780587
Новость: http://www.opennet.dev/opennews/art.shtml?num=46128

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Представлен usql, универсальный интерфейс командной строки д..."  +4 +/
Сообщение от Аноним (??) on 03-Мрт-17, 09:52 
Полезная вещь, давно мечтал об интерфейсе psql для MySQL.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Представлен usql, универсальный интерфейс командной строки д..."  –1 +/
Сообщение от Аноним (??) on 03-Мрт-17, 09:57 
надо попробовать
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Представлен usql, универсальный интерфейс командной строки д..."  +7 +/
Сообщение от XXXasd (ok) on 03-Мрт-17, 10:00 
> Особенностью usql является использование схемы dburl для задания параметров подключения к БД, напоминающей URL (например, "pg://user:pass@localhost/dbname" или "file:dbname.sqlite3")

ВОТ ЭТО ЧУДЕСА!

ради этого конечно стоит сразу устанавливать :-D

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Представлен usql, универсальный интерфейс командной строки д..."  –1 +/
Сообщение от пох on 03-Мрт-17, 13:06 
> ВОТ ЭТО ЧУДЕСА!

это - нормально (как, блин, по-твоему, еще должно выглядеть подключение к БД, когда возможных протоколов несколько?)

Ненормально что в деме автору понадобилось для mysql дополнительно дергать use booktest - грокаю явную usage inconsistence, причем в совершенно элементарном месте. И еще одну - в том что для всех почему-то "тип_бд://user:pass@", а у sqlite  тип вдруг оказывается в жопе.

Если автора такие мелочи не смутили - есть подозрение, что еще много что его не смутило.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

20. "Представлен usql, универсальный интерфейс командной строки д..."  –2 +/
Сообщение от anonymous (??) on 03-Мрт-17, 13:30 
у скулайте в жопе тип, потому что это расширение файла
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

24. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от пох on 03-Мрт-17, 16:10 
а, то есть у них file намертво и навеки прибит к sqlite? (ну, я надеюсь, что хоть так, а не автоугадав engine по расширению)
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

33. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от R on 05-Мрт-17, 00:36 
> как, блин, по-твоему, еще должно выглядеть подключение к БД, когда возможных протоколов несколько?

Делаешь man 2 connect, затем man 2 recv с флагом MSG_PEEK и база тебе расскажет кто она, какой ей протокол нужен и все остальное, что тебе нужно знать (тебе нужно будет распознать один из вариантов, которых меньше, чем пальцев на одной руке). Более того, это, скорее всего, понадобиться, когда строка подключения будет "odbc://user:pass@...". Впрочем, если это очередной Go-велосипед школьника, то он до этого не дойдет и бросит раньше. Однако, я верю в людей, даже если они пишут на Go под лицензией MIT.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

5. "Представлен usql, универсальный интерфейс командной строки д..."  +5 +/
Сообщение от иксперд on 03-Мрт-17, 10:11 
только сами команды в sql будут различаться, так что смысла нет.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Представлен usql, универсальный интерфейс командной строки д..."  –1 +/
Сообщение от Аноним (??) on 03-Мрт-17, 10:13 
Смысла много, если посмотреть на убогость mysql-ного клиента.:(
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "Представлен usql, универсальный интерфейс командной строки д..."  +4 +/
Сообщение от arka (ok) on 03-Мрт-17, 10:41 
Можете немного прояснить в чём его убогость, и что за фичи в этом клиенте?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

13. "Представлен usql, универсальный интерфейс командной строки д..."  +6 +/
Сообщение от RomanCh (ok) on 03-Мрт-17, 11:17 
Например, крайне убогое (на фоне psql) автодополнение и выпадание по Ctrl+C.

Последнее убого тем что psql (так же как и привычный shell) по Ctrl+С позволяет сбросить набираемый длинный запрос когда курсор находится в любом его месте и начать листать историю с последней команды. В mysql же Ctrl+C выбросит из клиента, а если его не нажать, то придётся затирать всю команду целиком (или дополнять её \c) после чего вы останетесь не на самой последней позиции в истории, а на месте затёртой команды. Что далеко не всегда удобно.

Ещё веселее бывает, если вы запустили запрос и понимаете что он выполняется дольше чем предполагалось и не очень-то он уже и нужен, то нажимаете Ctrl+C что бы прервать его, но иногда в этот момент запрос завершается сам, ваш Ctrl+C уходит в mysql клиента и обрывает вашу сессию. Что опять-таки совершенно неудобно.

Вообще, один хоткей на два совершенно разных действия - прерывание запроса и прерывание работы клиента есть на мой взгляд чистейший идиотизм.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

15. "Представлен usql, универсальный интерфейс командной строки д..."  +2 +/
Сообщение от Аноним (??) on 03-Мрт-17, 11:49 
По первому пункту

> по Ctrl+С позволяет сбросить набираемый

Посмотри, работает ли Ctrl+u (emacs-овское и readline-овское сочетание, удаляет всё слева от курсора). Переместить курсор в крайнее правое положение: Ctrl+e. Соответственно Ctrl+e , Ctrl+u очищает строку целиком, без перевода строки и без посылки какой бы то нибыло команды интерпретатору. Потому что иногда, даже в bash, Ctrl+c работает слишком инвазивно, я лично привык использовать Ctrl+e , Ctrl+u в разных cli. Интересно, работает ли это в cli мускула.

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

16. "Представлен usql, универсальный интерфейс командной строки д..."  +2 +/
Сообщение от Аноним (??) on 03-Мрт-17, 12:04 
> Интересно, работает ли это в cli мускула.

mysql используется readline или libedit,

Если скомпилен с readline, то работает.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

32. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от Анонимец01 on 04-Мрт-17, 13:16 
> Посмотри, работает ли Ctrl+u

Дело не в том, чем заменить. Просто такие вещи входят в привычку и приходится трахаться каждый раз с особенностями того или иного клиента.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Представлен usql, универсальный интерфейс командной строки д..."  –1 +/
Сообщение от Аноним (??) on 03-Мрт-17, 12:11 
> Например, крайне убогое (на фоне psql) автодополнение и выпадание по Ctrl+C.

И как вам в 2012м?
https://bugs.mysql.com/bug.php?id=1989

Верните машину времени на место.

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

19. "Представлен usql, универсальный интерфейс командной строки д..."  +1 +/
Сообщение от пох on 03-Мрт-17, 13:10 
>> Например, крайне убогое (на фоне psql) автодополнение и выпадание по Ctrl+C.
> И как вам в 2012м?

так же как в 2003м.
> https://bugs.mysql.com/bug.php?id=1989

баг закрыт без попытки что-либо с этим сделать.
В 2012м последний раз кто-то пытался уговорить его переоткрыть - безрезультатно.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

42. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от Аноним (??) on 07-Мрт-17, 20:04 
отпишите баг репорт и точные шаги чтобы воспроизвести:
mysql> select sleep(5);
^C^C -- query aborted
+----------+
| sleep(5) |
+----------+
+----------+
1 row in set (0.50 sec)

mysql> ^C^C^C
на 5.7.14 не воспроизводится. Уговаривать не надо, просто дайте способ разработчикам повторить проблему.

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

38. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от vitalif (ok) on 07-Мрт-17, 10:37 
Хы-хы, будет ли эта поделка нормально автодополнять - большой вопрос

Привычка сбрасывать текст запроса по ctrl-c довольно дурацкая, лучше ее поменяй)

Я делаю так - home, добавляю в начало # и жму ентер. Это либо получается коммент, либо синтакс еррор. Но что самое важное, текст остается в истории для дальнейшей правки

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

21. "Представлен usql, универсальный интерфейс командной строки д..."  +2 +/
Сообщение от anonimous on 03-Мрт-17, 13:46 
Зачем люди вообще используют mysql, если есть postgres?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

25. "Представлен usql, универсальный интерфейс командной строки д..."  +1 +/
Сообщение от пох on 03-Мрт-17, 16:16 
> Зачем люди вообще используют mysql, если есть postgres?

обычно после первой или второй встречи с vacuum full - в зависимости от степени тяжести травм, полученных после первой.

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

34. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от Вареник on 05-Мрт-17, 04:11 
Странные у Вас встречи...

За дясятилетия никаких проблем, в разных проектах.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

27. "Представлен usql, универсальный интерфейс командной строки д..."  +1 +/
Сообщение от KonstantinB (ok) on 03-Мрт-17, 21:24 
Смотря кто. Недовеб-программисты - потому что ничего другого не знают.

Но бывают и объективные причины: https://eng.uber.com/mysql-migration/

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

29. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от fi (ok) on 03-Мрт-17, 23:18 
известный не кошерный пример - простое обоснование "почему я ХОЧУ mysql, а вы мне pg дали"
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

35. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от Анонимец01 on 05-Мрт-17, 15:57 
> Но бывают и объективные причины: https://eng.uber.com/mysql-migration/

Спасибо, очень толковая статья

Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

36. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от adminlocalhost (ok) on 05-Мрт-17, 20:06 
Ну вот
http://postgresql.ru.net/node/215495  

Мало что ли?

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

7. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от Аноним (??) on 03-Мрт-17, 10:31 
неужто можно наконец-то будет выбросить этот чёртов sqlplus?!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Представлен usql, универсальный интерфейс командной строки д..."  +7 +/
Сообщение от Аноним (??) on 03-Мрт-17, 10:43 
Откройте для себя SQLcl - это утилита командной из SQL Developer от Oracle
Если не нравится ява - сделайте alias sqlplus='rlwrap sqlplus '

Никогда не любил универсальные утилиты. Вечно в них что-то не поддерживается или поддерживается не так. А уж родной psql от постгри ни на что не променяю ни за какие коврижки. Лучше консольного клиента не видел.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

31. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от ACCA (ok) on 04-Мрт-17, 07:09 
Невелика разница.

В Орякеле получить аналог \l - это поубивать всех индусов апстену.

Про \dt и проч. даже мечтать не придходится.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

10. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от БоБо on 03-Мрт-17, 10:45 
Я думаю, что у этой поделки функционал поменьше, нет? :) Скорее всего, через него только простые запросы типа select * from table можно делать.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

40. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от vitalif (ok) on 07-Мрт-17, 10:39 
> Я думаю, что у этой поделки функционал поменьше, нет? :) Скорее всего,
> через него только простые запросы типа select * from table можно
> делать.

У sql флюс тоже все оч грустно, оракл - худшая субд))

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

39. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от vitalif (ok) on 07-Мрт-17, 10:38 
> неужто можно наконец-то будет выбросить этот чёртов sqlplus?!

Гы, я в консоли виесто него извращался и DBI::Shell юзал)))

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

14. "Представлен usql, универсальный интерфейс командной строки д..."  +1 +/
Сообщение от Аноним (??) on 03-Мрт-17, 11:45 
Что насчёт подключения и авторизации через unix-сокет? Ssl сертификат?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

22. "Представлен usql, универсальный интерфейс командной строки д..."  +1 +/
Сообщение от Аноним (??) on 03-Мрт-17, 14:40 
Ура! Новость о проге в 400 строк.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

23. "Представлен usql, универсальный интерфейс командной строки д..."  –1 +/
Сообщение от Admino (ok) on 03-Мрт-17, 15:17 
Это Go, он такой!
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

26. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от ptr email(??) on 03-Мрт-17, 20:56 
Толку только с такой утилиты на реальной БД с тысячами таблиц и десятками (если не сотнями) полей в каждой - никакого.
Необходим горизонатальный скроллинг хотя бы. Да и вообще, интерактивная работа с рекордсетом. А лучше даже с несколькими. И автозавершение/перебор по именам объектов в БД.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

28. "Представлен usql, универсальный интерфейс командной строки д..."  +1 +/
Сообщение от Аноним (??) on 03-Мрт-17, 23:12 
> Особенностью usql является использование схемы dburl
> Provides a standardized way of processing database connection strings in the form of a URL for Go
> 11 commits
> 1 contributor

Отличный стандарт.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

30. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от ALex_hha (ok) on 04-Мрт-17, 00:34 
> Можете немного прояснить в чём его убогость, и что за фичи в этом клиенте?

а вы запустите штатный консольный клиент postgresql и больше возвращаться на mysql не захотите ;)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

41. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от vitalif (ok) on 07-Мрт-17, 10:41 
>> Можете немного прояснить в чём его убогость, и что за фичи в этом клиенте?
> а вы запустите штатный консольный клиент postgresql и больше возвращаться на mysql
> не захотите ;)

Не замечаю такого, единственное что лучше это дополнение, но мне некритично

А вот то что \d и т.п это КОМАНДЫ psql, а не SQL запросы - очень неудобно. Потом когда надо определение таблицы программно вытащить, приходится его по кусочкам из каталога собирать. А в mysql просто такой же запрос делаешь SHOW CREATE TABLE и все...

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

37. "Представлен usql, универсальный интерфейс командной строки д..."  +/
Сообщение от лютый жабист__ on 06-Мрт-17, 05:34 
С одной стороны, psql круче всех на голову, особенно ораклового поделия.

С другой стороны, всё-равно на даже средних базах уже неудобно работать даже в psql. Гораздо удобнее когда у тебя на экране все 50++ твои основных команды и ты их запускаешь по ctrl+enter, а не мучительно ищешь в истории или не дай божЕ, набираешь, копипастишь. Графический показометр схемы итд итп

В общем, увы, но нинужно.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру