Pull to refresh

Comments 79

Как запустить-то?
cannot execute binary file: Ошибка формата выполняемого файла
О какой операционке речь?
Для debian/ubuntu нужно просто запустить бинарник sqltabs.
Замечу еще, что билд сделан только для 64bit версий debian.
О какой операционке речь?
Ubuntu 15.04
Замечу еще, что билд сделан только для 64bit версий debian.
Ну вот, нигде же не помечено! У меня 32-разрядная.
Не предполагается для 32? Самому собирать только?
Если честно, я не уверен в популярности x32 на сегодняшний день. Сделать то можно, но это наверняка займет время, которого немного. Опять же нужно будет обновлять. Пока я билды делаю наполовину вручную, поэтому вряд ли я возьмусь поддерживать еще одину платформу.
Но в будущем не исключаю… вобщем, нужно подумать.
SQL Tabs написано на стэке javascript, electron, react

Для меня это означает: «закапывайте».
Сборка самим предполагает полную сборку webkit? :)
Достаточно поставить electron-prebuilt из npm
Да, если бы он ещё ставился…

npm ERR! Exit status 127
npm ERR! 
npm ERR! Failed at the electron-prebuilt@0.25.2 install script.
npm ERR! This is most likely a problem with the electron-prebuilt package,
npm ERR! not with npm itself.
Стоит всерьез задуматься о x64 :)
Да я в курсе, но есть на то причины :)
Ладно, буду ковырять. Так как с Postgresql работаю ежедневно, любые инструменты пригодятся.
Что-то можете посоветовать кроме pgAdmin?
Пока только им и пользуюсь.
Valentina Studio, хотя ей очень многого нехватает
Для сложных задач — dbeaver.jkiss.org
Поразительно. Как он раньше от меня ускользал. Сколько ни искал под linux клиента, такого найти не мог. В итоге остановился на связке heidiSQL + wine. Но на Postgre она обламалась. А тут нативное решение и с поддержкой ssh-туннелей из коробки (heidi тоже умеет, но под wine-ом мне завести не удалось).
Да, тоже не знал про него.
На самом деле не очень. Конечно, контекстное дополнение радует, переход по связям в результатах запроса и прочие вкусности, но много глюков (банальные перевод строки внутри запроса уже не переваривает), сложно работать с объектами plpgsql (только руками), дерево объектов только делает вид, что обновляется по F5, ну и т.д.
Глюков хватает конечно, но где их нет. Кстати перевод строки переваривает (если выделить запрос).
Некоторые вещи, которые на первый взгляд кажутся глюками/недостатками это результат универсальности и необходимости работать с любыми базами, включая NoSQL.
Что касается PostgreSQL то его поддержка на данный момент так себе. На порядок меньше функционала, чем для MySQL, Oracle или DB2, для которых написаны спец. расширения и поддерживаются нестандартные объекты метаданных, типы и т.д.
В данный момент как раз пилится (к сожалению пока не очень быстро) нормальный экстеншн для Постгреса. Если есть мысли на счёт того, что следовало бы реализовать в первую очередь — был бы благодарен.
Я автор, если что.
Я автор, если что.

Так это замечательно! :)
На счёт того, что реализовать в первую очередь, мне хотелось бы иметь возможность редактирования тела функции при её выделении в дереве объектов. Пока выводится только свойства и код для чтения. А так же нет редактирования прав.

А так много плюшек придумать можно, например упростить работу с табличными функциями гуём, автоматизировать правку объектов с зависимостями (смена типа данных поля таблицы/вьюхи может превратиться в то ещё приключение)
Редактирование функций/вьюшек в списке основных фич, но это для всех баз одинаково.
Интересны именно часто используемые postgresql-специфичные вещи, которые обычно не поддерживаются generic клиентами.
В принципе я общаюсь с людьми из PostgreSQL community, надеюсь с их помощью получится неплохой плагин. Где-нибудь к новому году)
Ну у postgresql много специфичных фишек, однако в реальной работе они практически не используются. Так что стандартно всё.
Бобёр весьма интересным показался, спасибо.
Даже если у меня sparc или arm? (а они у меня есть)
electron-prebuilt из npm

Это как то противоречит моему:
Сборка самим
> SQL Tabs написано на стэке javascript, electron, react
интересно, что вообще побуждает людей на такое?
Люди пишут на том, что уже умеют и знают, вместо того чтобы учить что-нибудь вроде C++, в процессе растерять энтузиазм и в итоге совсем забить.
Если у C++ охренеть какой высокий порог вхождения по современным меркам — разве это проблема в людях, а не в языке? Может мало кто хочет красноглазить, у людей помимо программирования есть ещё семья, увлечения. Вот и экономят на программировании, делая на том, что уже знают. Не вижу проблемы.

P.S. Что-то не видно качественных open source GUI для postgres на «ТРУЪшных» языках. С чего бы это?
Мне кажется но порог вхождения в C++/Qt (и тем более QML/JavaScript) будет не намного выше чем выше указанная связка.

P.S. Что-то не видно качественных open source GUI для postgres на «ТРУЪшных» языках. С чего бы это?

Почти всем хватает psql. GUI хотят те кто приходит в postgres из других баз или платформ (windows). Основные разработчики по сему особо и не заморачиваются. Будет большой спрос — напишут.
Почти всем хватает psql. GUI хотят те кто приходит в postgres из других баз или платформ (windows).


Мне это видится скорее проблемой, чем преимуществом. Мне и самому в 90% случаев хватает psql. Но отсутсвие нормальных тулов отпугивает от Postgresql многих потенциальных пользователей.
Кроме того, psql хватает для сугубо административных задач. Для разработки еще туда-сюда — можно пережить, скрестив его с любим редактором. Но для быстрого анализа данных, отладки сложных запросов и т.п. имхо труба…
Но отсутсвие нормальных тулов отпугивает от Postgresql многих потенциальных пользователей.

С этим я с вами согласен. Выше я скорее говорил, по чему этого сейчас не происходит.
Спасибо! Обязательно попробую.
Удобная минималистичная гуя. Но не понял как выбирать из списка автокомплита: например, начинаю печатать имя таблицы в from, он показывает мне варианты, среди них есть нужный, жму вниз — выпадающий список просто исчезает, хотя я ожидаю что будет выделен верхний элемент в списке.

Второй момент — пароль в строке ввода остается открытым, что не очень хорошо, я не хочу показывать свой пароль к базе своим коллегам, я хочу им показывать только запросы и результаты их выполнения.
Tab / Shift+Tab :)
Я тоже иногда путаюсь, наверное следует добавить стрелки тоже.
Спасибо, работает.
Пароль лучше не вводить в URL. Если нужно, то он должен запросить пароль отдельно и запомнит его до следующего перезапуска. А для постоянного хранения паролей есть pgpass.
Да что же оно все для Postgres страшное такое. :(
Надеюсь скоро появится, что то на Qt5. ;)
Как получилось, извиняйте :)
А что не страшное для примера?
На мой вкус Sequel Pro очень хорош, но он не работает с Postgres. Еще неплох Navicat, но он платный. А все, что я пробовал для Postgres выглядит как поделка на скорую руку. И дело даже не в аскетичном наборе возможностей, а именно в неаккуратности интерфейса.
Что касается SQL Tabs (я так понимаю, вы имеете прямое отношение к его разработке), то в нем прямо сразу узнается «поделка на бутстрепе». Могу предложить присмотрется по Атому, он построен на том же стеке, но по нему не сразу и скажешь, что там использован html/css/javascipt, а выглядит он как нативное приложение. Slack тоже выглядит неплохо.
Это дело поправимое :) Главное, что стэк позволяет сделать какой угодно дизайн… в будущем. SQL Tabs всего лишь четыре месяца и это еще версия 0.x. И да, я автор и единственный разработчик. Так что по дизайну — это на самом деле поделка на бутстрапе, в css лучше не заглядывать — там страх и ужас! Темная тема должна выглядеть немного более причесанной — я ей больше пользуюсь.
UFO just landed and posted this here
А почему такой вопрос? ;)
UFO just landed and posted this here
Решение выпускаться под GPL вполне взвешенное. Компоненты, которые можно было бы переиспользовать в других проектах, выделены отдельно и лицензируются под MIT лицензией. Сам же SQL Tabs — не библиотека, а конечный продукт. И хотелось бы, чтобы в случае форков он оставался открытым.
UFO just landed and posted this here
А мне понравилась минималистичная guiконсолька, прикольно. Я только тему не могу сменить. Удачи парни.
всё разбилось о
[8738:1015/234501:INFO:CONSOLE(83)] "Uncaught Error: Module did not self-register.", source: /home/timon/dev/sqltabs/node_modules/libpq/node_modules/bindings/bindings.js (83)
[8738:1015/234503:ERROR:channel.cc(299)] RawChannel read error (connection broken)
Это при запуске из исходников?
ага, по README кстати не получилось, пришлось вместо npm install jsx поставить npm install react-tools
Поправлю README значит, спасибо!
Хорошая идея. Сам над тем же работал, но времени не хватало, переключился на другие задачи.

картинка
image

Очень интересная идея про графики. Добавьте еще удобный просмотр explain plan. Ну и раздвиньте все элементы, что вы так место экономите.
Как насчет поддержки встроенных типов?
А какой редактор использовали?
Спасибо за конструктивный отзыв! Редактор взял Ace, т.к. он умеет подсвечивать хранимые процедуры на разных языках и json.
Что вы имеете ввиду под поддержкой встроенных типов?
explain вроде нормально отображается — текстовое дерево, как в psql )
Вот смотрите как можно отображать explain plan (http://explain.depesz.com/s/i7LN), я не говорю, что копируйте один в один, но согласитесь, когда красным явно показано какая часть тормозит, довольно заметно. Я использовал CodeMirror, он вроде бы все тоже самое умеет делать.
Под поддержкой встроенных типов я имею в виду, что н-р если есть возможность редактировать строки после выборки, то если поле timestamp показывать date picker и тп только еще и для json(b), hstore, enum…

А почему решили использовать нативный драйвер, а не нодовский реализованный на js?
C explain идея интересная, нужно будет подумать — но в ближайшее время вряд ли реализую.
Про встроенные типы понял, такой поддержки не будет, боюсь, никогда. Я принципиальный противник редактирования данных в гридах — данные редактируют либо из прикладного приложения, либо UPDATE statement.
Про драйвер, на сколько помню было 2 причины: мне очень хотелось добиться почти идентичного формата вывода, как в psql, и в javascript-овом драйвере не работал cancel запроса.
Я видимо не дошел до момента когда нужно делать отмену) Нужно будет на досуге посмотреть, может смогу починить.
Раз вы использовали нативный драйвер, вы еще можете из него использовать анализатор запросов родной. У вас тогда очень точная подсветка и анализ получится запроса (ну просто подсвечивать ошибки).
Огромное спасибо!

Оставлю фидбек небольшой. Наблюдаются лаги при наборе текста, возможно, виноват Ace, надо смотреть. Ну и поднять шарилку у себя наверное не самая лучшая идея. Очень не хватает экспорта красивых отчетов в PDF.
Лаги могут наблюдаться, если latency к подключенной базе большой. Там в фоне работает пополнение autocompletion словаря, и он подмерзает на вычитке данных. Уже исправил, в следующей версии должно быть чуть лучше.
И еще детская болячка — приложение фризится если долго открыто, видать, где-то подтекает. Начинает отжирать процессор на 100%
вот это уже хуже, я тоже замечал пару раз последнее время… плохо то, что у меня оно не стабильно фризится — иногда может работать долгое время без проблем. В любом случае спасибо — буду ловить утечку.
На удаленной базе при медленном коннекте, почти сразу подвисает.
Исправлено в новой версии
Спасибо, заметил, и автокомплиты пошустрей стали!
Можно ли поднять свой сервер для шаринга результатов?
После первых отчётов с графиками, могу сказать что штука очень крутая и у неё большое будущее, если будет приделан экспорт в PDF или свой экспорт/шаринг
В последней версии (0.11.x) можно указать свой сервер для шаринга.
Самую простую имплементацию сервера можно найти здесь sqlshare
Спасибо.

P.S.
ваш проект вдохновил на исследование electron, react, flux/redux :)
Надеюсь добавлю немного мотивации: это мой первый проект на этих технологиях :)
Так то я обычный DBA.
Вообще можно конечно. Там механизм очень простой — на сервер отправляется JSON с помощью примитивного REST запроса. Нужно только свой URL вписать и сохранить прилетевший JSON.
Рендерер JSON-ов идет отдельной компонентой под MIT лицензией: sqldoc.
Зашел в комментарии, чтобы найти кто чем пользуется, к сожалению, пока, не нашел.

Чем пользуетесь вы для GUI postgresql?
Стоит задуматься над оптимизацией соединения. Большая база, не локальная сеть, попытка написать селект — минут 10-15 тупило, пока дописалось слово. Получение инфы о базе — тоже очень долго. При этом процессор грузится на 100% Ubuntu 14.04, x64.
Для маленькой локальной БД работает нормально, хоть и памяти потребляет много. В общем, красиво, но не юзабельно.
Спасибо за интересное приложение! Я вот только начинаю изучать Electron. И начинаю работать с Atom.

Js код выглядит красиво, но для меня CoffeeScript ближе (т.к. Ruby разработчик), не думали на Coffee перейти?

И так же думаю можете добавить свой проект в список проектов реализованных на базе Electron: github.com/sindresorhus/awesome-electron (в раздел Open Source).
Тут то и за javascript критиковали, а вы coffee предлагаете :)
Если серьезно, то нет и на это есть причины. Во-первых дополнительный слой компиляции — там и без того уже jsx есть.
Во-вторых, с точки зрения долгосрочного развития, javascript — какой-никакой но стандарт, а coffee — дело вкуса.
Sign up to leave a comment.

Articles