Заметки

DBeaver: подключение к PostgreSQL и MySQL, первые запросы

M
Markabus
·
Монитор с условным клиентом баз данных и запросом SELECT 1, карточки PostgreSQL и MySQL. Иллюстрация, интерфейс условный.

DBeaver помогает подключиться к базе данных, посмотреть таблицы и выполнить SQL-запрос в графическом редакторе. Для первого знакомства достаточно настроить соединение, проверить, к какому серверу оно ведёт, и получить небольшой результат. Разберём этот путь для PostgreSQL и MySQL без изменения рабочих данных.

Инструкция сверена с официальной документацией на 13 ноября 2026 года. Примеры адресов и имён условные. Полный проход в установленном DBeaver с двумя серверами в рамках подготовки статьи не выполнялся; названия отдельных пунктов могут зависеть от версии и языка интерфейса.

Что подготовить до запуска DBeaver

Графический клиент подключается к уже работающему серверу. Само создание соединения не устанавливает PostgreSQL или MySQL и не создаёт базу для приложения. Если сервер обслуживает хостинг или коллега, сначала получите параметры доступа.

  • Тип СУБД: PostgreSQL или MySQL. Эти подключения создаются отдельно.
  • Адрес сервера и порт. Для локального стенда адресом может быть 127.0.0.1.
  • Имя существующей базы и отдельную учётную запись для чтения.
  • Условия сетевого доступа: VPN, SSH-туннель, сертификат TLS или разрешённый IP.

Не используйте для учебного просмотра административную учётную запись. Попросите пользователя с доступом только к нужным объектам. Это ограничивает последствия случайной команды и помогает понять, какие данные действительно требуются для задачи.

Пароль вводят в диалоге соединения. Его не стоит помещать в название подключения, SQL-файл или скриншот. Если передаёте ошибку коллеге, скопируйте текст сообщения и заранее уберите из него персональные данные, адреса закрытой инфраструктуры и секреты.

Создаём соединение и устанавливаем драйвер

Откройте мастер нового подключения — New Connection. Найдите нужную СУБД, выберите драйвер и перейдите к параметрам. На основной странице задаются сервер, порт, база и данные пользователя. Завершать настройку удобно через Test Connection: этот тест помогает обнаружить ошибку до работы с таблицами.

Драйвер — библиотека, через которую клиент общается с конкретной базой. Если DBeaver предлагает скачать необходимые библиотеки, разрешите загрузку из настроенного доверенного источника. Сбой скачивания драйвера и отказ в доступе к базе — разные этапы диагностики.

Если библиотеки не загружаются, откройте Driver Manager и вкладку Libraries выбранного драйвера. Проверьте Download/Update и настройки прокси, если он нужен вашей сети. Для ручной установки берите JDBC-библиотеку у поставщика или из доверенного репозитория. Замена случайным JAR из обсуждения способна добавить проблему вместо решения.

Подключаем PostgreSQL

Для учебного примера предположим, что на компьютере уже есть PostgreSQL с базой demo и пользователем demo_reader. В режиме подключения по адресу заполните поля так:

ПолеПримерЧто проверить
Host127.0.0.1Сервер действительно работает на этом компьютере
Port5432Это стандартный порт; у вашего стенда он может отличаться
DatabasedemoБаза уже существует
Usernamedemo_readerПользователю разрешено подключение

Введите пароль, нажмите Test Connection, затем сохраните соединение под понятным названием, например «Учебная PostgreSQL». Не переносите значения из таблицы на чужой сервер: это образец заполнения, а не универсальные реквизиты.

В PostgreSQL внутри базы существуют схемы — пространства имён для таблиц и других объектов. После подключения раскрывайте нужную схему, а не только список баз. Отсутствие ожидаемой таблицы ещё не означает, что соединение не работает: она может находиться в другой схеме или быть недоступной этому пользователю.

Подключаем MySQL

Создайте второе соединение и выберите MySQL. Для локального примера используются тот же адрес 127.0.0.1, база demo и пользователь demo_reader, но стандартный порт MySQL — 3306. Пароль и права этого пользователя задаются на сервере MySQL независимо от PostgreSQL.

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

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

Если база расположена на удалённом сервере

Сначала выясните предусмотренный администратором способ подключения. Не открывайте порт базы всему интернету ради одного клиента. При SSH-доступе параметры промежуточного сервера и параметры самой базы относятся к разным соединениям: вход по SSH не заменяет пароль пользователя СУБД.

В DBeaver для сетевых настроек предусмотрены SSH и SSL/TLS. Заполняйте их по выданной конфигурации. Сертификаты и имя узла должны соответствовать требованиям сервера; отключение проверки сертификата не является нормальным способом завершить настройку.

Важная деталь: localhost без туннеля обычно означает компьютер, где запущен клиент. При туннелировании адрес базы рассматривается с учётом маршрута через SSH-сервер. Если администратор выдал отдельные адреса для SSH и СУБД, не подставляйте один вместо другого.

Первые запросы: начинаем с одной строки

Выберите нужное соединение и откройте SQL Editor. Перед запуском посмотрите на активное подключение редактора. Особенно легко ошибиться, когда одновременно открыты учебная база и рабочий проект с похожими именами.

SELECT 1 AS connection_ok;

Этот запрос не требует таблиц и возвращает одну строку с колонкой connection_ok. В DBeaver команда Execute SQL Statement запускает запрос под курсором или выделенный текст; стандартное сочетание — Ctrl+Enter. Для первого шага выделяйте только одну команду. Запуск целого скрипта — отдельное действие, которое может выполнить несколько выражений подряд.

Затем уточните контекст. В PostgreSQL можно выполнить:

SELECT current_database() AS database_name,
       current_user AS user_name;

В MySQL выберите свой вариант:

SELECT DATABASE() AS database_name,
       CURRENT_USER() AS user_name;

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

Смотрим структуру и выбираем небольшой фрагмент

В дереве подключения найдите таблицу и откройте её описание. Сначала посмотрите имена колонок, типы и ключи. Это поможет составить запрос без предположений о том, как разработчик назвал поля. Для примера допустим, что в учебной базе есть таблица demo_items с колонками id и title:

SELECT id, title
FROM demo_items
ORDER BY id
LIMIT 20;

Таблица в примере не создаётся автоматически. Замените её и поля на существующие учебные объекты. Для PostgreSQL при необходимости укажите схему, например public.demo_items. Если таблицы нет или к ней не выданы права, запрос закономерно завершится ошибкой.

Перечисляйте только нужные колонки: в соседних полях могут оказаться адреса, токены или тяжёлые документы. LIMIT ограничивает результат, но не гарантирует дешёвое выполнение на любой базе. Сортировка и фильтрация большого набора всё равно требуют ресурсов. Дальше пригодится разбор индексов MySQL, а для поиска по векторам — введение в pgvector.

Экспортируем результат в CSV

Для небольшой выгрузки откройте контекстное меню сетки результатов и выберите Export data, затем CSV. Проверьте колонки, кодировку, разделитель и путь сохранения. Если задача — сохранить уже показанные строки, используйте режим Use fetched rows; режим Query the database повторно читает данные с сервера.

После экспорта откройте файл и сравните заголовки и несколько строк с результатом запроса. Отдельно проверьте кириллицу и значения с ведущими нулями: табличная программа при открытии CSV может интерпретировать текст как число. Полная резервная копия базы требует другого процесса; выгрузка результата SELECT не заменяет бэкап.

Как разбирать ошибки подключения

  • Не скачивается драйвер. Проверьте доступ к репозиторию и прокси до настройки самой СУБД.
  • Тайм-аут или отказ соединения. Сверьте адрес, порт, доступность сервера, VPN и правила сети. Замена пароля не исправляет недоступный порт.
  • Ошибка аутентификации. Проверьте имя пользователя, пароль и разрешённый способ входа. Не публикуйте полное сообщение с секретами.
  • Соединение есть, таблиц нет. Уточните базу, схему, фильтры дерева и права на объекты.
  • SELECT работает, экспорт отличается. Посмотрите, выгружались загруженные строки или результат повторного запроса, и какие колонки были выбраны.

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

Частые вопросы

Q.Нужно ли устанавливать сервер базы вместе с DBeaver?

Нет. DBeaver — клиент. Для подключения нужен уже работающий PostgreSQL или MySQL и выданные параметры доступа.

Q.Какие порты указать для PostgreSQL и MySQL?

Стандартные порты — 5432 для PostgreSQL и 3306 для MySQL. Конкретный сервер или туннель может использовать другой порт.

Q.С какого запроса начать проверку соединения?

SELECT 1 AS connection_ok; возвращает одну строку без обращения к таблицам. Затем проверьте имя текущей базы и пользователя.

Q.Как экспортировать только загруженные строки?

Запустите Export data из сетки результатов и выберите Use fetched rows. Проверьте выбранные строки, колонки и настройки CSV.

Источники

Поделиться:OKVK