Getting Started with DBeaver on a Distributed SQL Database
If you’re a database developer, you know that you need different SQL statements for creating schemas, ad-hoc querying, initiating backups, or troubleshooting. For these scenarios, finding the right graphical tool can speed up these tasks and make you more productive. Over the years, the PostgreSQL community has developed several open source graphical tools for managing PostgreSQL databases, visualizing the datasets it contains, and running queries. You can find a comprehensive list of tools on the PostgreSQL wiki here.
This post is the first in a series of on-going blogs that will show you how to work with YugabyteDB using popular PostgreSQL GUI tools. (Additional posts in the series include: DataGrip from JetBrains, DbSchema, TablePlus, PGAdmin, and SQL Workbench/J.)
What’s YugabyteDB? It is an open source, high-performance distributed SQL database built on a scalable and fault-tolerant design inspired by Google Spanner. YugabyteDB is PostgreSQL wire compatible and supports advanced RDBMS features like stored procedures, triggers, and UDFs.
What is DBeaver?
DBeaver is a free multi-platform database management tool for developers, SQL programmers, DBAs, and analysts. It is written in Java, and supports a variety of databases including MySQL, PostgreSQL, MariaDB, and even YugabyteDB! In addition to the databases mentioned, there are plugins and extensions for many other data products that support the JDBC driver.
In a nutshell, DBeaver gives you all the must-have features you’d expect from any database GUI tool including:
- A connection and metadata browser
- SQL query editor and executor
- A rich in-line data editor
- Entity relationship (ER) diagrams
DBeaver is intuitive and there are a lot of helpful tips that can aid you in configuring and exploring your database seamlessly.

Prerequisites
Before we get into DBeaver, you’ll need to setup YugabyteDB and install a sample database. For the purposes of this blog post we’ll be using the northwind sample database. The instructions for how to get up and running in just a few minutes can be found in our previous blog post, “The Northwind PostgreSQL Sample Database Running on a Distributed SQL Database.”
Please note that for the purposes of this blog post we’ll be focused on getting up and running on a Mac, but DBeaver supports all the major operating platforms.
Installing DBeaver
Download and Install DBeaver
First thing to do is download the latest version of DBeaver. DBeaver comes in two editions – Community and Enterprise. In this blog post, we are installing DBeaver community edition version 7.1.2 on Mac.
Working with DBeaver
Launching DBeaver
Once you are installed, let’s launch DBeaver and configure a connection to YugabyteDB. If it is a fresh install, DBeaver will walk you through a wizard to get your connection set up like shown below.

For the purposes of this how-to, I’ve selected the northwind sample database. Similar to PostgreSQL, password authentication for the default yugbayte user is disabled, and hence no password should be specified.

It’s always a good idea to test the connection before proceeding.

Database Navigator
After the connection is setup you should be able to explore YugabyteDB (aka “PostgreSQL – northwind”) using the database navigator as shown below:

Working with the Northwind Sample Database
That’s it! You are ready to start exploring the northwind database running on a distributed SQL backend using DBeaver.
View Database Objects
By expanding out northwind > schemas > public > tables you can quickly visualize all the tables in the northwind database.

Querying Data
You can quickly view and edit the data in a table by right-clicking on the table and selecting view data.


If you want to try your hand at writing your own SQL queries, you can do that by clicking on the SQL Editor button. You can now create, run, and view the results of your query in this window.
А вы знаете о том, что в Python есть встроенная СУБД?
Если вы — программист, то я полагаю, что вы, наверняка, знаете о существовании чрезвычайно компактной и нетребовательной к ресурсам СУБД SQLite, или даже пользовались ей. Эта система обладает практически всеми возможностями, которых можно ожидать от реляционной СУБД, но при этом всё хранится в единственном файле. Вот некоторые сценарии использования SQLite, упомянутые на официальном сайте этой системы:
- Встраиваемые устройства и IoT.
- Анализ данных.
- Перенос данных из одной системы в другую.
- Архивирование данных и (или) упаковка данных в контейнеры.
- Хранение данных во внешней или временной БД.
- Заменитель корпоративной БД, используемый в демонстрационных или испытательных целях.
- Обучение, освоение начинающими практических приёмов работы с БД.
- Прототипирование и исследование экспериментальных расширений языка SQL.

Данный материал посвящён использованию SQLite в Python-разработке. Поэтому для нас особенно важно то, что эта СУБД, представленная модулем sqlite3 , входит в стандартную библиотеку языка. То есть оказывается, что для работы с SQLite из Python-кода не нужно устанавливать некое клиент-серверное ПО, не нужно поддерживать работу какого-то сервиса, отвечающего за работу с СУБД. Достаточно лишь импортировать модуль sqlite3 и приступить к его использованию в программе, получив в своё распоряжение систему управления реляционными базами данных.
Импорт модуля
Выше я говорил о том, что SQLite — это СУБД, встроенная в Python. Это значит, что для того чтобы приступить к работе с ней, достаточно импортировать соответствующий модуль, не выполняя предварительно его установку с помощью команды вроде pip install . Команда импорта SQLite выглядит так:
Создание подключения к БД
Для организации подключения к базе данных SQLite не нужно беспокоиться об установке драйверов, о подготовке строк подключения и о прочих подобных вещах. Создать базу данных и получить в своё распоряжение объект подключения к ней можно очень просто и быстро:
Выполнив эту строку кода, мы создадим базу данных и подключимся к ней. Дело тут в том, что база данных, к которой мы подключаемся, пока не существует, поэтому система автоматически создаёт новую пустую БД. Если же база данных уже создана (предположим, это my-test.db из предыдущего примера), для того чтобы к ней подключиться, достаточно воспользоваться точно таким же кодом.

Файл только что созданной базы данных
Создание таблицы
Теперь давайте создадим таблицу в нашей новой БД:
Тут описано добавление в БД таблицы USER с тремя столбцами. Как видите, SQLite — это и правда очень простая в работе СУБД, но она обладает всеми основными возможностями, наличия которых можно ожидать от обычной системы управления реляционными базами данных. Речь идёт о поддержке типов данных, в том числе — типов, допускающих значение null , о поддержке первичного ключа и автоинкремента.
Если этот код функционирует так, как ожидается (вышеприведённая команда, правда, ничего не возвращает), в нашем распоряжении окажется таблица, готовая к дальнейшей работе с ней.
Вставка записей в таблицу
Вставим несколько записей в таблицу USER , которую мы только что создали. Это, кроме прочего, даст нам доказательство того, что таблица, и правда, была создана вышеприведённой командой.
Представим, что нам нужно добавить в таблицу несколько записей одной командой. В SQLite сделать это очень просто:
Здесь нам нужно определить SQL-выражение со знаками вопроса ( ? ) в виде местозаполнителей. Учитывая то, что в нашем распоряжении есть объект подключения к базе данных, мы, подготовив выражение и данные, можем вставить записи в таблицу:
Сообщений об ошибках после выполнения этого кода не поступает, а это значит, что данные успешно добавлены в таблицу.
Выполнение запросов к базе данных
Теперь пришло время узнать о том, правильно ли отработали команды, которые мы только что выполняли. Давайте выполним запрос к БД и попробуем получить из таблицы USER какие-то данные. Например — получим записи, относящиеся к пользователям, возраст которых не превышает 22 года:

Результат выполнения запроса к БД
Как видите, то, что было нужно, получить удалось. И сделать это было очень просто.
Кроме того, даже хотя SQLite — простая СУБД, она отличается крайне широкой поддержкой. Поэтому с ней можно работать, используя большинство SQL-клиентов.
Я пользуюсь DBeaver. Предлагаю взглянуть на то, как это выглядит.
Подключение к базе данных SQLite из SQL-клиента (DBeaver)
Я пользуюсь облачным сервисом Google Colab и хочу загрузить файл my-test.db на свой компьютер. Если же вы экспериментируете с SQLite на компьютере, то это значит, что вы, без необходимости скачивать откуда-то файл базы данных, можете подключиться к ней, используя SQL-клиент.
В случае с DBeaver для подключения к БД SQLite нужно создать новое подключение и выбрать, в качества типа базы данных, SQLite.

Подготовка подключения в DBeaver
Затем надо найти файл базы данных.

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

Выполнение запросов к базе данных
Интеграция с pandas
Думаете, на этом мы завершим разговор о поддержке SQLite в Python? Нет, нам ещё есть о чём поговорить. А именно, так как SQLite — это стандартный Python-модуль, эта СУБД легко интегрируется с дата-фреймами pandas.

Датафрейм pandas
Для сохранения датафрейма в БД можно просто воспользоваться его методом to_sql() :
Вот и всё! Нам даже не нужно заранее создавать таблицу. Типы данных и характеристики полей будут настроены автоматически, на основании характеристик датафрейма. Конечно, вы, если надо, можете настроить всё самостоятельно.
Теперь, предположим, нам нужно получить объединение таблиц USER и SKILL и записать полученные данные в датафрейм pandas. Это тоже очень просто:

Чтение данных из БД в датафрейм pandas
Замечательно! А теперь давайте запишем то, что у нас получилось, в новую таблицу с именем USER_SKILL :
С этой таблицей, конечно, можно работать и пользуясь SQL-клиентом.

Применение SQL-клиента для работы с базой данных
Итоги
В Python, безусловно, есть много приятных неожиданностей, которые, если специально их не искать, можно и не заметить. Специально подобные возможности никто не прятал, но из-за того, что в Python встроено очень много всего, на некоторые из таких возможностей можно просто не обратить внимания, или, откуда-то о них узнав, просто о них забыть.
Здесь я рассказал о том, как использовать встроенную в Python библиотеку sqlite3 для создания баз данных и для работы с ними. Конечно, такие БД поддерживают не только операцию добавления данных, но и операции изменения и удаления информации. Полагаю, вы, узнав о sqlite3 , испытаете всё это сами.
Очень важно то, что SQLite отлично стыкуется с pandas. Данные из БД очень легко считывать, помещая в датафреймы. Не менее проста и операция по сохранению содержимого датафреймов в базу данных. Это ещё сильнее упрощает использование SQLite.
Предлагаю всем, кто дочитал до этого места, заняться собственными исследованиями в поиске интересных возможностей Python!
DBeaver — свободный менеджер баз данных (MySQL, PostgreSQL, Firebird, SQLite, Oracle)
Обзор очень полезного инструмента для работы с различными базами данных — MySQL, PostgreSQL, Firebird, SQLite, ODBC, Oracle и другими. DBeaver — это свободный кроссплатформенный менеджер баз данных для Linux, Windows и MacOS. О DBeaver кратко: много возможностей, небольшой вес, портабельность, свободное ПО.
Предисловие
При работе под Linux рано или поздно у разработчика или администратора возникнет необходимость в использовании удобного и мультифункционального менеджера баз данных. Это должен быть многофункциональный и и удобный программный продукт, по возможности портабельный и желательно кроссплатформенный, принадлежать к категории свободного ПО — Open Source.
![]()
После недолгих поисков и перебрав несколько вариантов решил остановиться на DBeaver (Database Beaver, Бобер — повелитель Баз Данных). Такой себе универсальный зверек, который проникнет в любую структуру в базе данных и покажет вам что внутри, поможет навести порядок, внести изменения и предоставит прочие полезности и удобства.
Особенности DBeaver
Из основных особенностей программы можно выделить:
- Удобный структурированный интерфейс, основан на OpenSource фреймворке c большой подборкой мощных плагинов;
- Небольшой вес — 50Мб;
- Свободное программное обеспечение;
- Мультиплатформенность (работает под Linux, MacOS, Windows, Solaris, AIX, HPUX);
- Поддержка большого количества разных Баз Данных;
- Умеет делать туннелирование через SSH (встроенный функционал, очень удобно);
Список поддерживаемых баз данных:
- MySQL;
- Oracle;
- PostgreSQL;
- IBM DB2;
- Microsoft SQL Server;
- Sybase;
- ODBC;
- Java DB (Derby);
- Firebird (Interbase);
- HSQLDB;
- SQLite;
- Mimer;
- H2;
- IBM Informix;
- SAP MAX DB;
- Cache;
- Ingres;
- Linter;
- Teradata;
- Vertica;
- MongoDB;
- Cassandra;
- Любой JDBC совместимый источник.
Небольшой список того что умеет DBeaver:
- Обзор и правка метаданных: таблички, колонки, ключи, индексы;
- Выполнение SQL запросов и скриптов;
- Подсветка синтаксиса для SQL (специфичная для разных типов БД);
- Функция авто-дополнения в SQL редакторе;
- Просмотр и редактирование данных в таблицах;
- Поддержка BLOB/CLOB (просмотр и редактирование);
- Экспорт данных (таблици, результаты запросов);
- Менеджмент транзакций;
- Поиск объектов в базе данных (таблици, колонки, процедуры и т.п.);
- Генерация диаграмм для структур БД;
- Закладки для запросов и объектов в БД;
- Менеджмент удаленных и локальных подключений;
- Экспорт и Импорт в/из БД/файл;
- Поиск данных в базе;
- И многие другие возможности.
Установка
Программу DBeaver можно скачать и установить с официального сайта: https://dbeaver.io/download/
На странице вы найдете ссылки для скачивания под разные платформы, а также для скачивания исходного кода программы. Есть две версии DBeaver:
- Community Edition;
- Enterprise Edition.
Обе они являются бесплатными, разница лишь в том что у Enterprise Edition есть поддержка NoSQL баз данных, таких как MongoDB и Cassandra.
Для использования программы в портабельном режиме с помещением ее на переносной носитель, лучше всего ее скачать в виде архива. Например для Линукс жмем по ссылке — «Linux 64 bit (zip archive)».
Использование программы
Приведу пример запуска под Linux. Скачиваем файл по ссылке «Linux 64 bit (zip archive)» браузером или при помощи Wget. Вес архива получился примерно
Распаковываем его при помощи Dolphin’а, файлового менеджера Krusader или в консоли используя unzip, 7zip (команда «7z x имя_файла.zip»).

Запускаем бинарный файл «dbeaver». После того как программа загрузится будет предложено создать новое подключение к нужной вам базе данных.
Вот как выглядит DBeaver при работе с базой данных в Linux:

Все окна можно расположить в удобном вам порядке, для этого их нужно просто перетащить в нужную вам позицию. На примере ниже я выполнил небольшую реорганизацию окон интерфейса DBeaver, а потом в автоматическом режиме сгенерировал диаграмму для базы данных «wordpress»:

Для выполнения запросов нужно выбрать активную БД и вызвать редактор SQL-кода, ввести нужный запрос и клацнуть иконку «Execute statement» на панели инструментов или же нажать сочетание клавиш Ctrl+Enter:

Если в окне редактора SQL-кода поместить несколько команд и попробовать их запрустить также как выше — то это не сработает. Для запуска нескольких команд (скрипта) нужно нажать другую кнопочку на панели инструментов — «Execute Script».
Немного поигравшись с интерфейсом вы быстро разберетесь что и к чему, все очень удобно.
Как изменить язык интерфейса программы
Для своего интерфейса программа DBeaver автоматически использует тот язык, который установлен у вас по умолчанию в системе. К примеру, если у вас установлена англоязычная версия Debian GNU/Linux, то интерфейс программы будет также на английском.
Как сменить язык интерфейса в DBeaver на русский или другой язык? — как оказалось все очень просто, нужно передать название предпочитаемой локали как параметр при запуске бинарного файла ‘dbeaver’. Вот пример запуска программы с интерфейсом на русском языке:
Здесь предполагается что вы находитесь в консоли в каталоге, где распакован DBeaver. Вот что получим в результате:

Для удобства запуска с русскоязычным интерфейсом — создайте ярлык с командой запуска и опцией как приведено выше.
Заключение
Разобравшись с DBeaver вы получите верного помощника для всех дел, касающихся работы с базами данных. Эта программа будет служить и одинаково выполнять свои функции под разными операционными системами, справляться с задачами для различных типов баз данных, предоставляя все свои возможности в удобном и интуитивно-понятном интерфейсе.
А еще эта прекрасная программа является свободным ПО! Вы можете свободно пользоваться ею, делиться с друзьями, а также помогать разработчикам в ее развитии.