Графическая оболочка postgresql linux

Новый GUI для Postgresql

Хочу поделиться новым продуктом со всеми пользователями замечательной базы данных Postgresql. Встречайте — SQL Tabs — графическая SQL консоль для Postgresql. Это новый GUI клиент, в котором можно просматривать объекты базы данных, писать SQL запросы и строить графики.

На сегодняшний день можно скачать версии для OSX и Ubuntu. Пользователи других linux-дистрибутивов могут запустить приложение из исходников. К сожалению, версии для Windows пока нет. Хочется надеяться, что приложение понравится сообществу, и найдутся разработчики, способные помочь в выпуске пакетов под разные платформы: rpm, debian, windows.

Немного информации для разработчиков: SQL Tabs написано на стэке javascript, electron, react и использует native libpq драйвер для работы с базой. Выпускается под лицензий GPL3.

Теперь об основных особенностях SQL Tabs, отличиях от других похожих продуктов и основной мотивации, которая стоит за разработкой.

Начнем с процесса создания соединения, который сделан максимально просто: нужно ввести URL в адресной строке. Так сделано для экономии времени при переключении между серверами, особенно при работе с шардированными базами.

Наверное самым большим отличием от подобных приложений будет отсутствие привычного дерева объектов БД в левой боковой панели. Вместо него там расположен навигатор по файловой системе в духе Project Window. Это делает SQL Tabs больше похожим на текстовый редактор а ля Sublime. Как никак, разработка баз данных ничем принципиально не отличается от любой другой разработки: SQL скрипты нужно хранить в файлах, а файлы в git или любой другой scm. При этом, редактируя файл, можно тут же выполнять запросы, переключаясь между разными базами данных на лету.

Тем не менее, навигатор по объектам таки существует, вызвать его можно из меню, выбрав пункт Database Info. Список поддерживаемых объектов пока далеко не полный, это как раз та область, где еще предстоит поработать. Такое решение позволяет получать быстрый доступ к описанию объектов прямо в время написания кода. Например, набрав имя таблицы в редакторе, можно нажать CTRL+I (CMD+I на маке) и увидеть структуру таблицы и наличие индексов, не переключаясь на другое окно.

Из плюшек еще имеются история выполненных запросов с поиском, светлая и темная темы оформления, автодополнение ключевых слов и имен объектов. Для гиков есть Vim-мод.

Теперь моя любимая фишка — визуализация результата запроса. Смысл в том, чтобы по данным из таблицы построить график, не покидая контекста SQL. Очень полезно при поверхностном анализе данных. Работает это следующим образом.

SQL Tabs может использовать в скриптах дополнительную семантику: блоки SQL команд, которые разделяются при помощи строки комментария, начинающейся с трех дефисов:

Такая строка может содержать в себе дополнительно аннотацию, т.е. пояснять каким образом нужно интерпретировать вывод SQL команд текущего блока. Например, вот такой запрос, возвращающий количество сотрудников по городам:

Для визуализации таких данных сам собой напрашивается pie-chart (пусть это и не самый удачный вариант графика). Для того, чтобы построить график в SQL Tabs, добавляем перед запросом аннотацию и нажимаем Execute Block.

Для меня самыми полезными оказались обычные timeseries графики для анализа роста таблиц и распределения данных во времени. Вот синтетический пример такого графика:

А вот картинка из реального примера. Размер дневных партиций и их индексов:

И в завершении немного о планах. SQL Tabs — очень молодой продукт, всего лишь 4 месяца от роду. За это время ритм разработки удавалось держать на уровне примерно двух релизов за месяц. Каждый релиз, как правило, содержал одну или несколько относительно завершенных фич. На сегодняшний момент основная концепция, которая должна быть в первой версии, реализована. Следующие релизы скорее всего будут направлены на доработку и отладку заявленной функциональности.

Источник

Топ инструментов разработки для PostgreSQL

Конференция PG Day Russia растет и масштабируется: этим летом мы готовим для вас доклады и тренинги по всем наиболее популярным базам данных, а также по администрированию и хранению данных. в рамках подготовки мы запустили корпоративный блог, где планируем делиться ценной информацией о происходящем в мире баз данных. Первый пост посвящен инструментам разработки для PostgreSQL, его автор varanio будет рад ответить на ваши вопросы и комментарии!

Я поспрашивал различных людей, имеющих отношение к PostgreSQL, что они используют в реальной жизни для разработки приложений, использующих PG.

Это, конечно, не строго математическая выборка, но тем не менее получился некоторый список инструментов на слуху, которые достойны того, чтобы их «пощупать», что я и собираюсь сделать в этой статье.

Читайте также:  Что такое аудит безопасности windows

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

Итак, вот неформальный топ и субъективное описание.

На первом месте psql, и это неудивительно. Надежный как автомат калашникова, бесплатный, стоит из коробки, что еще надо для счастья? Для редактирования запросов используется редактор, указанный в переменной окружения EDITOR, обычно ставят vim, nano или что-то в этом духе. Ну и вообще, psql — это unix-way, т.е. можно его запускать со своим редактором, своим пейджером для отображения результатов, ему можно на вход подавать sql-запрос через пайп, и вывод направлять куда надо.

Из минусов можно отметить слабенький автокомплит, а также то, что приходится заучивать неинтуитивные команды из серии \d \dt+ \sf и т.д. (впрочем, все описания команд доступны через команду \? )

Ну, и работа в консоли и в виме — это не всех устраивает почему-то 🙂

На самом деле, иногда хочется иметь где-нибудь слева полный список таблиц/вьюх и иметь возможность щелкнуть мышкой по нужной, чтобы посмотреть, что там вообще. Т.е. хоть какой-то GUI. Работа в psql хоть и эффективна, но напоминает работу в темной комнате с маленьким фонариком, освещающим лишь только один объект за раз.

datagrip

IDE для баз. Несмотря на то, что продукт относительно свежий, он уже используется повсеместно. В основном за счет того, что сразу встроен в мегапопулярные продукты от компании JetBrains: IntelliJ IDEA, PyCharm, PhpStorm и т.д.

Собственно, эта его встроенность одновременно является и главной киллер-фичей продукта: вы редактируете, например, php-код, в котором есть строка с sql-запросом, и внезапно понимаете, что IDE вам подсказывает (прямо в вашем коде) синтаксис SQL, названия таблиц и их полей, подчеркивает красненьким, если что-то написано не так, форматирует SQL и многое-многое другое. Конечно, в этом же IDE можно делать и то, что умеют другие GUI для баз: просматривать списки таблиц и других сущностей, отдельно делать запросы, экспорт таблиц в разные форматы и многое другое.

Из особенностей я бы отметил следующие вещи:

  • можно выделить несколько insert’ов и нажать «Edit as table» (см. картинку). После чего отредактировать это в удобном табличном виде вместо sql-синтаксиса, причем там же можно добавлять строки, колонки, экспортировать в csv и т.д.
  • Можно сравнивать результаты двух запросов. Это полезно, когда пытаешься упростить сложный запрос, и при этом ничего не сломать.
  • встроенность в код проработана не до конца. К примеру, при переименовывании в каком-либо интерфейсе колонки таблицы, IDE не находит нужные строки с SQL в коде (при этом автокомплит в этих строках работал), и наоборот, находит какую-то чушь.
  • Визуальной разработки не очень много. Т.е. вы можете сделать таблицу, но view уже не можете. Если таблица содержит какие-то id с foreign key (допустим, ссылка на некий словарь), хотелось бы при в вводе данных в таблицу выбирать значения из словаря, а не вбивать айдишки.
  • Если посмотреть таблицу в какой-нибудь из схем, то Datagrip посылает запрос set search_path = имясхемы, что приводит к плохим последствиям, если используется pgbouncer (а он используется почти всегда в случае с php или когда много серверов), так что для dev-разработки лучше использовать разные подключения: для работы кода — через pgbouncer, для ide — напрямую к базе.

Datagrip активно развивается, в частности, исправлены некоторые раздражающие баги с подсветкой синтаксиса.

В целом хороший современный инструмент, рекомендую.

pgAdmin

Им многие пользуются, но, скорее по привычке. Или потому что это бесплатно. pgAdmin4 — продукт странноватый, при этом в описании сказано, что это самый лучший опенсорс продукт для разработки и администрирования.

Как его использовать для администрирования — не очень понятно. pgAdmin’ом нельзя «заинитить» новый сервер, нельзя подправить pg_hba.conf или postgresql.conf. Видимо, имеются в виду скудные графики запросов в секунду, вывод подробностей конфигурации сервера и статистика в таблицах. Не уверен, в общем. Как вы испольуете pgAdmin для администрирования?

Как его использовать с точки зрения разработки — еще менее понятно. Субъективно, интерфейс в целом не удобен для разработки. Несмотря на то, что четвертую версию переписали на python + JS с jQuery, по сути, осталось всё то же самое.

Чтобы немного пояснить ситуацию, в голове разработчика такая картина: есть база на каком-то серваке, в ней — схемы, в схемах — таблицы и вьюхи. Т.е. таблица — максимум, 3-й уровень. А если база одна, то вообще второй уровень. Ткнул по таблице — увидел несколько первых строк.

В голове разработчика pgAdmin как-то так: «Смерть Кощеева на конце иглы, та игла в яйце, то яйцо в утке, та утка в зайце, тот заяц в сундуке, а сундук стоит на высоком дубу, и то дерево Кощей как свой глаз бережёт», а именно (см. картинку):

Читайте также:  Windows defender блокирует autowp launcher

Есть группа серверов, в ней есть сервер, на сервере существуют базы, роли и т.д., из баз можно выбрать конкретную базу, в ней видно схемы, языки, еще бог знает что. В схемах можно выбрать нужную схему, в схеме 100500 всего, и где-то в конце списка «таблицы». В таблицах можно выбрать нужную таблицу, по ней надо кликнуть правой кнопкой мыши, там в большом списке выбираешь «view data», в этой «view data» есть «view first 100 rows» и уже там наконец-то смерть кощеева несколько строк для ознакомления.

Киллер-фичей pgAdmin является возможность дебажить хранимые процедуры pl/pgsql. Других бесплатных программ с этой возможностью я не встречал.

EMS Studio

EMS Studio, похоже, работает только под Windows. Это его главный недостаток, потому что, как известно PostgreSQL очень редко используют под виндой.

Я этот софт посмотрел только один раз под Wine, поэтому могу ошибаться, но вообще мне жутко не понравилось. Бешенное нагромождение непонятных иконок, невнятный интерфейс. Кстати, у меня под Wine заглючили всплывающие подсказки, и я играл в «угадай функциональность по картинке». Очень тяжело.

До кучи там зачем-то сделан визуальный конструктор запросов. Где вместо того, чтобы текстом написать where >, надо нажать мышкой несколько кнопок и понавыбирать из выпадающего списка. Тем, кто знает SQL — это не нужно, тем кто не знает — это не поможет.

Фичи, которые называют как удобные: auto-complete с алиасами, экспорт результата выполнения запроса в SQL формате (insert), удобный GUI для экпорта базы, возможность выполнять только выделенную часть SQL.

Умеет дебаг pl/pgsql. В общем, много чего умеет, но какой-то выдающейся особенности, что отличало бы от других, я не могу назвать.

Navicat — это, наверное, самая богатая фичами программа. Она умеет всё, что умеют другие GUI для БД: дизайнер объектов, просмотрщик таблиц, автокомплит, инструменты проектирования базы, отладка pl/pgsql, импорт/экспорт и так далее.

Поистине всеобъемлющий софт, который работает практически на любой ОС. Навскидку, намного удобнее EMS Studio.

Киллер-фичей, на мой взгляд, является сравнение баз. Т.е. можно взять две базы, узнать, чем они отличаются по структуре и сформировать запросы для синхронизации.

Ценник, правда, что называется, «конский» — в два раза дороже, чем EMS. Но тут, похоже, это полностью оправдано.

PGCLI

Те, кто пробует работать с psql, сразу начинают мечтать о более богатом функционале, например, автодополнении. Для реализации этих хотелок существует pgcli.

pgcli умеет автодополнять ключевые слова, функции, таблицы, колонки, колонки в алисах. Умеет подсвечивать синтаксис, редактировать SQL в многострочном режиме без отдельного редактора и т.д.

Короче, pgcli — это, по сути, psql на стероидах.

phppgadmin

Многие из тех, кто перешел с MySQL, инстинктивно ищут аналоги phpmyadmin, и натыкаются на phppgadmin. К сожалению, phppgadmin не развивается уже несколько лет, так что о мертвых или хорошо, или ничего. В общем, промолчим, пожалуй.

Не по всем из этих инструментов у меня есть опыт использования, поэтому прошу высказаться в комментариях. Что используете вы?

Также надо отметить, что на конференцию pgday приедут разработчики популярных инструментов не только для постгреса, но и других бд, можно будет их помучать вопросами и высказать какие-то пожелания по фичам. В любом случае, приглашаем всех посетить это полезнейшее мероприятие, которое пройдет в Санкт-Петербурге 5-7 июля!

Источник

Top 8 (+1) PostgreSQL GUI software in 2021

When you start looking for a GUI for your database management, you’ll most likely find pgAdmin, a well-known GUI tool, and stop there. However, a few minutes of internet surfing and brief research might reveal a range of other GUI options for Postgres management.
‍
Let’s take a closer look at some of the most popular GUI tools you can try today.

🔥 Migrate Airtable to PostgreSQL in a few seconds 🔥

1. pgAdmin

An Open Source GUI for PostgreSQL. It can be used on most operating systems including Linux, macOS, Windows

Can be included on any cloud server when you work with a distributed database.

Quite stable and fast in responding.

A very convenient SQL editor with shortcuts for better work efficiency.

Comprehensive documentation & large community.

Installation requires the use of command lines, which leads to difficulties.

Not easy to onboard.

Working with several database instances simultaneously requires advanced skills.

2. DBeaver

An Open Source cross-platform GUI tool. It supports a range of other databases than PostgreSQL

CSV, HTML, JSON, XLS, and other data export.

Integration with MySQL, MongoDB, PostgreSQL, Oracle, and more.

Читайте также:  Папка usr linux что это

Easy to kick off with no CLI knowledge.

Has a free version allowing you to taste the features before paying.

Editing column values is really easy.

Desktop version (its performance depends on your machine capabilities).

Too frequent updates.

The need to re-launch the DBeaver application if you’ve been inactive in the app for some time since DBeaver becomes disconnected from your database.

3. Navicat

A MySQL, PostgreSQL, Oracle, MongoDB GUI that simplifies your communication with databases

Easy installation process requiring a few command lines only.

Job Scheduler aimed at improving your team’s productivity.

Navicat Cloud that ensures team collaboration and easy connection to data sources.

Data visualization via a powerful in-built Data Modeling Tool.

Light and dark themes.В

High prices (the cheapest plan starts from $119 per year).

Data Modeling Tool and Chart features are available only within the Enterprise plan.

Time-consuming manual refresh needed each time you add a new row.

Slow speed and performance.

4. DataGrip

An advanced database client supporting Windows, macOS, Linux operating systems

Easy in use and configuration.В

Plugins and dialects for various databases.

One-command dependency installation.

DDL and DML automation tools.

Straightforward reports you can integrate with charts.

Not Open Source, costs $199 a year.

Meant for querying, not suitable if you’re looking for an admin web app to be deployed in your cloud.

Not a good option for big companies and teams that need to manage several databases at a time.

5. HeidiSQL

An Open Source GUI created specifically for Windows. You can connect it to MySQL, Microsoft SQL Server, PostgreSQL

Syntax highlighting when writing queries.

Visibility into the backend that helps in troubleshooting.

100% encrypted connection between Client and Server.

Doesn’t support other operating systems than Windows.

Not very stable, has a lot of bugs.

May miss features for advanced users due to being very lightweight.В

6. TablePlus

Native GUI software for managing MySQL, PostgreSQL, SQLite, MongoDB

High performance and speed.

Customizable UI freeing you from the need to use Mojave.

Color-coded syntax support.

Standing out database security due to 100% encrypted connection to the database you use.

Shortcuts you can use to save time & increase productivity.

Built-in SSH support.

May be hard to build a consistent UI.

Very limited free trial version.

Almost no support and frequently occurring problems when working with any databases other than PostgreSQL.

7. Beekeeper Studio

A cross-platform Open Source desktop GUI software for managing PostgreSQL, MySQL, SQL Server, Redshift, and some other databases

Easy-to-use interface with no unnecessary (for beginners) features.

Open and free with a permissive license (MIT).

High data privacy – no user tracking.

Offline working mode.

Diverse and highly inclusive tech community.

Not feature-rich enough compared to DBeaver and some other competitors.

Not a good option for DBAs, more suitable for web developers.

No advanced database performance monitoring due to the tool simplicity.В

8. OmniDB

It’s a cross-platform simple Open Source GUI software for PostgreSQL database management

Very responsive UI.

SQL autocomplete feature.

Customizable Charts to overview database metrics.

Rather powerful in debugging.

100% data encryption.

Better be used by one or two SQL developers only.

No high-level support.

Lack of documentation.

UI Bakery competing with traditional GUI software

Your choice of Postgres GUI will vary depending on your requirements, needs, budget.
There are Open Source and paid tools. There are GUI tools suitable for one or two users managing one database, and the tools ensuring the collaboration within a large team that works with multiple databases. There are GUI tools supporting PostgreSQL only and cross-platform ones.

And there’s UI Bakery, a low-code internal tool builder. Although not created for Postgres management initially, it’s very powerful if you need to connect multiple data sources (databases, third-party apps, REST APIs). You can visualize the data pulled from PostgreSQL, MongoDB, MySQL, MicrosoftSQL, Redis.

UI Bakery is web-based – no need to download and install anything. It’s affordable, and has a free trial. Thanks to ready-made UI components, you can create a very nice-looking web app UI and connect your data to it visually. The process takes minutes or hours depending on your tech skills.

Keep in mind that a low-code approach to managing your Postgres, MySQL, or another DBВ is more time-saving, flexible, and powerful than the use of traditional outdated GUI tools like pgAdmin.

Need to create an internal tool fast?

Discover UI Bakery – an intuitive visual internal tool builder.

Источник

Оцените статью