
Интеграция PostgreSQL напрямую в IntelliJ IDEA избавляет от постоянного переключения между клиентами, консолью и отдельными GUI-инструментами. Встроенный модуль Database Tools and SQL позволяет выполнять запросы, просматривать схему, анализировать планы выполнения и редактировать данные в одном окне проекта. Это особенно полезно при разработке backend-сервисов на Java, Kotlin или Spring, где проверка структуры таблиц и миграций требуется параллельно с написанием кода.
Для стабильного подключения важно заранее определить параметры сервера: host (обычно localhost или IP контейнера Docker), port по умолчанию 5432, имя базы, пользователя и схему аутентификации. При работе через Docker или удалённый сервер следует проверить проброс портов и доступность соединения командой ping или telnet. Использование SSL имеет смысл в продакшн-среде, для локальной разработки достаточно обычного TCP-соединения без шифрования, что ускоряет установку сессии.
IntelliJ IDEA автоматически скачивает JDBC-драйвер PostgreSQL и создаёт источник данных с поддержкой автодополнения SQL, навигации по объектам и инспекций. После корректной настройки появляются функции, недоступные в сторонних клиентах: генерация DDL, сравнение схем, выполнение скриптов миграции и привязка запросов к файлам проекта. Пошаговая конфигурация подключения гарантирует корректное распознавание типов, кодировок и тайм-аутов, что исключает ошибки при работе с большими наборами данных.
Далее описан точный порядок действий: от включения плагина и создания источника данных до тестирования соединения и оптимизации параметров драйвера. Такой подход позволяет настроить рабочее окружение за несколько минут и сразу приступить к выполнению SQL-запросов прямо из IDE.
Установка и включение плагина Database Tools and SQL для работы с базами данных

Для подключения PostgreSQL в IntelliJ IDEA необходим плагин Database Tools and SQL, который добавляет окно Database, SQL-консоль, редактор схем и встроенные драйверы JDBC. В редакциях Ultimate он установлен по умолчанию, в Community отсутствует и не поддерживается – для работы с БД требуется переход на Ultimate.
Откройте настройки среды: File → Settings → Plugins (Windows/Linux) или IntelliJ IDEA → Settings → Plugins (macOS). Вкладка Marketplace используется для поиска, Installed – для проверки уже добавленных модулей.
Введите в поиске Database Tools and SQL, выберите официальный плагин от JetBrains, нажмите Install. Размер загрузки – около 100–150 МБ, установка занимает 1–2 минуты. После завершения выполните Restart IDE, иначе функциональность не активируется.
Если плагин уже установлен, убедитесь, что он включён: вкладка Installed → отметка Enable. При обновлении версии IDEA рекомендуется обновлять и плагин кнопкой Update, чтобы избежать проблем с драйверами JDBC и отображением схем.
После перезапуска появится окно View → Tool Windows → Database. Его отсутствие означает, что плагин отключён или IDE запущена в Community-версии. Для удобства закрепите окно в боковой панели и включите опцию Autoscroll to Editor для быстрой навигации по таблицам.
Дополнительно проверьте автоматическую загрузку драйверов: Database → Drivers → PostgreSQL. Если драйвер отсутствует, используйте Download missing driver files. Это исключит ошибки подключения при создании источника данных.
Создание нового источника данных PostgreSQL через окно Database

Окно Database в IntelliJ IDEA (или DataGrip, PyCharm Professional) позволяет настроить подключение к PostgreSQL без ручного редактирования конфигурационных файлов. Источник данных создаётся через встроенный менеджер соединений с проверкой драйвера и параметров сети.
-
Откройте панель базы данных:
- View → Tool Windows → Database
- или сочетание Alt + 2 (Windows/Linux) / ⌘ + 2 (macOS)
-
Добавьте новый источник:
- нажмите + в левом верхнем углу панели
- выберите Data Source → PostgreSQL
-
Заполните параметры подключения во вкладке General:
- Host – адрес сервера (например: localhost, 127.0.0.1, IP или домен)
- Port – стандартный порт 5432 (изменяется, если сервер настроен иначе)
- Database – имя базы данных
- User – роль PostgreSQL
- Password – пароль пользователя (можно сохранить через Save Password)
-
Проверьте JDBC URL. Формат должен быть:
- jdbc:postgresql://host:port/database
- пример: jdbc:postgresql://localhost:5432/app_db
-
Установите драйвер:
- если рядом с полем Driver отображается предупреждение, нажмите Download
- используйте актуальную версию PostgreSQL JDBC (42.x и выше)
-
Настройте дополнительные параметры во вкладке Advanced при необходимости:
- ssl=true – для защищённого соединения
- currentSchema – схема по умолчанию
- connectTimeout – таймаут подключения (в секундах)
- applicationName – идентификатор клиента в pg_stat_activity
-
Протестируйте соединение:
- нажмите Test Connection
- при успешной проверке появится сообщение Successful
- ошибки аутентификации указывают на неверные User/Password, ошибки сети – на Host/Port или firewall
-
Сохраните источник:
- нажмите OK
- подключение появится в дереве Database
- раскройте узел для просмотра схем, таблиц, функций
Рекомендации:
- для локальной разработки используйте отдельную БД, а не production
- включайте Read-only для критичных серверов
- создавайте несколько источников (dev/test/prod) с разными цветами для визуального отличия
- не храните пароли в проекте, используйте встроенное безопасное хранилище IDE
Заполнение параметров подключения: host, port, database, user и password

Host – адрес сервера, на котором запущен PostgreSQL. Для локальной установки указывайте localhost или 127.0.0.1. При работе с удалённой машиной используйте IP (например, 192.168.1.50) или доменное имя (db.example.com). Если сервер работает в Docker, проверьте имя сервиса в сети контейнеров или проброс портов, например host.docker.internal.
Port – порт прослушивания PostgreSQL. Значение по умолчанию – 5432. Изменённый порт смотрите в файле postgresql.conf (параметр port) или в настройках контейнера/хостинга. При подключении через SSH-туннель указывайте локальный порт, заданный в туннеле, например 6543.
Database – имя конкретной базы данных, а не сервера. После установки обычно доступна база postgres или template1, но для рабочих проектов создавайте отдельную, например crm_prod или test_db. Указание неверного имени приведёт к ошибке «database does not exist».
User – роль PostgreSQL с правом подключения. Не используйте postgres для повседневной работы. Создавайте отдельного пользователя: app_user с ограниченными привилегиями (CONNECT, SELECT/INSERT/UPDATE/DELETE). Проверьте наличие доступа через GRANT CONNECT ON DATABASE ....
Password – пароль, заданный при создании роли. В IntelliJ IDEA сохраните его в менеджере паролей IDE, чтобы не вводить вручную. При ошибке аутентификации проверьте метод в pg_hba.conf (md5 или scram-sha-256) и соответствие формата хеша. Избегайте простых комбинаций, используйте не менее 12–16 символов.
После заполнения параметров нажмите «Test Connection». Если соединение не устанавливается, последовательно проверьте: доступность хоста (ping), открытость порта (telnet host 5432), корректность имени базы и прав пользователя. Это позволяет локализовать проблему без изменения остальных настроек.
Загрузка и настройка JDBC-драйвера PostgreSQL внутри IntelliJ IDEA

Для подключения к серверу PostgreSQL IntelliJ IDEA использует JDBC-драйвер org.postgresql:postgresql. Без него соединение не устанавливается, даже если указаны корректные параметры хоста и базы. Драйвер подключается через встроенный менеджер источников данных.
Откройте окно Database (View → Tool Windows → Database), нажмите + → Data Source → PostgreSQL. При первом создании источника IDE автоматически предложит загрузить отсутствующие файлы драйвера. Нажмите Download; файлы будут скачаны в локальный кэш IntelliJ (~/.ideaDrivers или каталог настроек IDE).
Для ручной настройки откройте вкладку Driver. Убедитесь, что выбран класс org.postgresql.Driver и шаблон URL: jdbc:postgresql://host:port/database. Если автоматическая загрузка недоступна (офлайн-режим или прокси), нажмите + → Custom JARs и добавьте скачанный файл postgresql-42.x.x.jar с официального репозитория Maven Central.
Рекомендуемая версия драйвера – 42.6+ для PostgreSQL 12–16. Старые версии (< 42.2) могут вызывать ошибки SSL и проблемы с типами времени. При использовании корпоративного прокси настройте параметры в Settings → Appearance & Behavior → System Settings → HTTP Proxy, иначе загрузка JAR завершится ошибкой.
После добавления драйвера проверьте параметры соединения: Host, Port (по умолчанию 5432), Database, User, Password. При необходимости включите SSL в поле Advanced, добавив свойства ssl=true или sslmode=require. Для нестандартных настроек используйте параметры currentSchema, stringtype=unspecified, ApplicationName=IDEA.
Нажмите Test Connection. Успешный тест подтверждает корректную загрузку драйвера и доступ к серверу. При ошибке Class not found или Driver files are missing вернитесь во вкладку Driver и проверьте наличие JAR в списке библиотек.
Для нескольких проектов создайте один общий драйвер и переиспользуйте его: это ускоряет запуск и упрощает обновления. Обновление выполняется через Download missing files или заменой JAR на новую версию с последующим перезапуском IDE.
Проверка соединения и устранение типовых ошибок подключения

После заполнения параметров подключения в окне Data Sources and Drivers нажмите кнопку Test Connection. IntelliJ IDEA выполняет попытку установить TCP-соединение с сервером PostgreSQL и авторизацию пользователя. Успешный результат отображается сообщением Successful и временем отклика. Если проверка длится более 1–2 секунд в локальной среде, проверьте корректность хоста и отсутствие сетевых ограничений.
Ошибка: Connection refused. Сервер не запущен или порт закрыт. Убедитесь, что служба PostgreSQL активна (systemctl status postgresql или services.msc). Проверьте порт в postgresql.conf (обычно 5432) и соответствие значения в IntelliJ. Для Docker-контейнера используйте опубликованный порт (например, 5433:5432).
Ошибка: timeout / no route to host. Отсутствует сетевой доступ. Проверьте доступность хоста через ping или telnet host 5432. Для удалённого сервера откройте порт в firewall (ufw allow 5432/tcp или правило в Security Group). При подключении к облаку убедитесь, что используется внешний IP, а не localhost.
Ошибка: password authentication failed for user. Неверные учётные данные или метод аутентификации. Пересоздайте пароль командой ALTER USER username WITH PASSWORD ‘…’. Проверьте запись в pg_hba.conf: для TCP-доступа должен быть метод md5 или scram-sha-256. После изменений перезапустите сервер.
Ошибка: database does not exist. В поле Database указано имя, которого нет. Проверьте список баз через psql -l или вкладку Schemas. При необходимости создайте базу CREATE DATABASE dbname.
Ошибка: SSL required / SSL error. Сервер требует шифрование. В настройках источника включите SSL → Require или укажите сертификаты. Если SSL не нужен, отключите требование на сервере (ssl = off) либо установите режим prefer.
Несовпадение версии драйвера. При ошибках протокола обновите драйвер PostgreSQL в разделе Drivers → Download missing files. Используйте актуальную версию JDBC (42.x и выше для PostgreSQL 12+).
Подключение через SSH-туннель. Если сервер недоступен напрямую, настройте вкладку SSH/SSL: укажите хост, пользователя, ключ или пароль. Проверяйте локальный порт туннеля и соответствие ему в поле Host (localhost) и Port.
Проверка логов. При нестандартных сбоях анализируйте server log (postgresql.log) и вкладку IDEA Event Log. Сообщения о превышении max_connections или блокировке IP указывают на необходимость увеличить лимиты или снять ограничения.
После устранения причины повторно выполните Test Connection и сохраните источник. Для стабильности задайте корректный Keep-Alive и Auto-reconnect, чтобы избежать разрыва сессии при простое.
Настройка схем, отображения таблиц и фильтров после успешного подключения

После подключения к PostgreSQL в IntelliJ IDEA откройте окно Database (Alt+1 → Database). Выберите подключение и кликните правой кнопкой мыши → «Schemas». В появившемся списке отметьте только те схемы, с которыми планируется работать. Неактивные схемы лучше скрыть, чтобы уменьшить нагрузку на IDE и ускорить отображение таблиц.
Для настройки отображения таблиц перейдите в вкладку Tables внутри выбранной схемы. Используйте контекстное меню таблиц для выбора опций «Show Columns», «Show Indexes» и «Show Foreign Keys» по мере необходимости. Это позволяет видеть только критически важные элементы структуры, облегчая навигацию.
Фильтры таблиц настраиваются через опцию «Filter Tables…» в контекстном меню схемы. Рекомендуется создавать фильтры по имени таблицы или по префиксу, если база содержит большое количество таблиц. Например, фильтр «sales_*» покажет только таблицы, связанные с продажами.
Инструмент «Diagrams» позволяет визуализировать связи между таблицами. Для включения связей выберите нужные таблицы, кликните правой кнопкой → «Diagrams» → «Show Visualization». В настройках диаграммы можно отключить отображение некоторых типов связей, например внешних ключей, чтобы диаграмма оставалась читаемой при большом количестве таблиц.
Для ускорения работы с данными рекомендуется включить кэширование схем и таблиц. Это делается в Settings → Database → General → «Use Database Caching». Включение кэширования уменьшает время отклика при повторном открытии таблиц и обновлении структуры.
| Параметр | Рекомендованное значение | Назначение |
|---|---|---|
| Схемы | Только рабочие | Сокращение визуального шума и ускорение загрузки |
| Отображение столбцов | Выбранные критически важные | Удобство работы с данными |
| Фильтры таблиц | По префиксу или имени | Быстрый поиск нужных таблиц |
| Диаграммы | Отображать связи выборочно | Читаемая визуализация структуры |
| Кэширование | Включено | Ускорение работы с базой |
После выполнения этих шагов интерфейс базы данных станет более управляемым, а навигация между схемами и таблицами – быстрым и предсказуемым процессом.
Выполнение SQL-запросов и управление данными через встроенную консоль

После подключения PostgreSQL в IntelliJ IDEA откройте вкладку Database и выберите подключенную базу данных. Для выполнения SQL-запросов используйте встроенную консоль, доступную через правый клик на базе и выбор Jump to Query Console.
Основные возможности консоли:
- Выполнение одиночных запросов с помощью Ctrl+Enter (Windows/Linux) или Cmd+Enter (Mac).
- Выполнение выделенного фрагмента SQL с сохранением остального кода в редакторе.
- Автодополнение имен таблиц, столбцов и функций PostgreSQL через Ctrl+Space.
- Просмотр истории выполненных запросов во вкладке Console History, что удобно для повторного использования сложных запросов.
Для управления данными используйте следующие инструменты консоли:
- SELECT для выборки данных. В консоли отображается результат в таблице с возможностью фильтрации и сортировки по столбцам.
- INSERT, UPDATE, DELETE для изменения данных. После выполнения изменений консоль автоматически обновляет результаты и отображает количество затронутых строк.
- Transaction control через BEGIN, COMMIT, ROLLBACK для безопасного выполнения массовых операций.
- Использование вкладки Result Tabs для открытия нескольких результатов одновременно и сравнения их между собой.
Дополнительные рекомендации:
- Используйте сохранённые SQL-скрипты в проекте для повторяемых операций. IntelliJ IDEA автоматически подсвечивает синтаксис PostgreSQL.
- Активируйте опцию Autocommit только для быстрых изменений, иначе используйте ручное управление транзакциями.
- Фильтруйте результаты с помощью встроенного поискового поля в таблице, это ускоряет анализ больших наборов данных.
- При работе с большими таблицами включайте лимит LIMIT 1000 для уменьшения нагрузки на интерфейс и сервер.
Вопрос-ответ:
Как подключить существующую базу данных PostgreSQL к проекту в IntelliJ IDEA?
Для подключения нужно открыть раздел «Database» в IntelliJ IDEA, нажать на значок «+» и выбрать PostgreSQL. В открывшемся окне вводятся параметры подключения: адрес сервера, порт, имя базы данных, логин и пароль. После этого можно протестировать соединение кнопкой «Test Connection». Если соединение успешно, сохраните настройки — база данных появится в списке, и с ней можно работать прямо из IDE.
Нужно ли устанавливать дополнительные драйверы для работы с PostgreSQL в IntelliJ IDEA?
IntelliJ IDEA предлагает автоматическую загрузку драйверов при создании подключения к базе данных. Когда вы выбираете PostgreSQL и вводите параметры соединения, IDE предложит скачать драйвер, если он отсутствует. Достаточно подтвердить загрузку, и драйвер будет добавлен в проект, после чего соединение станет доступным.
Можно ли работать с несколькими базами данных PostgreSQL одновременно в IntelliJ IDEA?
Да, IntelliJ IDEA позволяет создавать несколько подключений к разным базам данных. В разделе «Database» можно добавить любое количество соединений, каждому из которых можно задать свои параметры доступа. После этого все базы данных будут отображаться в дереве подключения, и с ними можно выполнять SQL-запросы параллельно.
Какие типы аутентификации поддерживаются при подключении PostgreSQL в IntelliJ IDEA?
IDE поддерживает стандартную аутентификацию PostgreSQL по логину и паролю, а также аутентификацию через SSL. Для SSL-соединения нужно указать путь к сертификату, ключу и файлу доверенного центра сертификации. После настройки этих параметров соединение будет защищенным, и все запросы к базе будут шифроваться.
Почему IntelliJ IDEA не может подключиться к PostgreSQL, хотя все данные введены верно?
Причины могут быть разными: сервер PostgreSQL может быть недоступен или заблокирован файерволом, порт может быть закрыт, или база настроена на прием соединений только с определенных IP-адресов. Также стоит проверить, что сервер запущен и слушает указанный порт. Иногда помогает включение режима TCP/IP в настройках PostgreSQL и корректная настройка файла pg_hba.conf.
