Четыре способа подключить PostgreSQL в IntelliJ IDEA: встроенный Database tool без JDBC-файла, добавить JDBC Driver вручную, Maven/Gradle зависимость для Java-проекта, Spring Boot datasource. Разбираем каждый с примерами конфигурации.

- Способ 1 — Database tool в IntelliJ IDEA
- Способ 2 — JDBC Driver JAR вручную
- Способ 3 — Maven зависимость
- Способ 4 — Gradle зависимость
- Spring Boot — автоконфигурация PostgreSQL
- Часто задаваемые вопросы
- Ошибка «Connection refused» при подключении к PostgreSQL из IDEA
- Какую версию JDBC драйвера PostgreSQL использовать?
- Как передать параметры SSL для подключения к облачной базе?
Способ 1 — Database tool в IntelliJ IDEA
IntelliJ IDEA встроенный Database tool автоматически скачивает JDBC-драйвер — не нужно ничего скачивать вручную:
- Открыть: View → Tool Windows → Database (или значок базы данных справа)
- Нажать + → Data Source → PostgreSQL
- Заполнить параметры подключения
- При первом подключении IDEA предложит скачать драйвер — нажать Download
- Нажать Test Connection → должно появиться «Successful»
Параметры подключения в Database tool:
Host: localhost
Port: 5432
Database: mydb
User: postgres
Password: ваш_пароль
URL строка (автоматически строится):
jdbc:postgresql://localhost:5432/mydb
Дополнительные параметры (Advanced tab):
sslmode=require -- для облачных баз (Supabase, Neon)
currentSchema=public -- схема по умолчанию
Способ 2 — JDBC Driver JAR вручную
Если нет доступа к интернету или нужна конкретная версия:
- Скачать
postgresql-42.x.x.jarс сайта jdbc.postgresql.org - В Database tool: + → Data Source → PostgreSQL
- Внизу: Driver: нажать на ссылку → Go to Driver
- В открывшемся окне: вкладка Driver files → убрать существующие → + → выбрать скачанный JAR
- Вернуться к настройкам подключения и нажать Test Connection
// Использование JDBC напрямую в Java коде:
import java.sql.*;
public class PostgreSQLExample {
public static void main(String[] args) throws Exception {
String url = "jdbc:postgresql://localhost:5432/mydb";
String user = "postgres";
String password = "пароль";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
System.out.println("Подключено: " + conn.isValid(0));
try (Statement stmt = conn.createStatement()) {
ResultSet rs = stmt.executeQuery("SELECT id, email FROM users LIMIT 5");
while (rs.next()) {
System.out.println(rs.getInt("id") + ": " + rs.getString("email"));
}
}
}
}
}
Способ 3 — Maven зависимость
org.postgresql
postgresql
42.7.11
com.zaxxer
HikariCP
5.1.0
// Пример с HikariCP пулом соединений:
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import java.sql.*;
public class DatabaseConfig {
private static HikariDataSource dataSource;
static {
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:postgresql://localhost:5432/mydb");
config.setUsername("postgres");
config.setPassword("пароль");
config.setMaximumPoolSize(10);
config.setMinimumIdle(2);
config.setConnectionTimeout(30000); // 30 сек
dataSource = new HikariDataSource(config);
}
public static Connection getConnection() throws SQLException {
return dataSource.getConnection();
}
}
Способ 4 — Gradle зависимость
// build.gradle (Groovy DSL):
dependencies {
implementation 'org.postgresql:postgresql:42.7.11'
implementation 'com.zaxxer:HikariCP:5.1.0'
}
// build.gradle.kts (Kotlin DSL):
dependencies {
implementation("org.postgresql:postgresql:42.7.11")
implementation("com.zaxxer:HikariCP:5.1.0")
}
Spring Boot — автоконфигурация PostgreSQL
org.springframework.boot
spring-boot-starter-data-jpa
org.postgresql
postgresql
runtime
# application.properties:
spring.datasource.url=jdbc:postgresql://localhost:5432/mydb
spring.datasource.username=postgres
spring.datasource.password=пароль
spring.datasource.driver-class-name=org.postgresql.Driver
# Пул соединений HikariCP (встроен в Spring Boot):
spring.datasource.hikari.maximum-pool-size=10
spring.datasource.hikari.minimum-idle=2
# JPA/Hibernate настройки:
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=validate # validate/update/create/create-drop
spring.jpa.show-sql=false # true для отладки SQL
# application.yml альтернатива:
spring:
datasource:
url: jdbc:postgresql://localhost:5432/mydb
username: postgres
password: пароль
jpa:
database-platform: org.hibernate.dialect.PostgreSQLDialect
Часто задаваемые вопросы
Ошибка «Connection refused» при подключении к PostgreSQL из IDEA
Проверить по порядку: 1) PostgreSQL запущен? — sudo systemctl status postgresql (Linux) или Services (Windows). 2) Правильный порт? По умолчанию 5432. 3) PostgreSQL слушает нужный интерфейс? В postgresql.conf: listen_addresses = 'localhost' для локального или '*' для всех. 4) Firewall не блокирует порт? 5) Если PostgreSQL в Docker: проверить что порт прокинут -p 5432:5432 и хост localhost, не имя контейнера. Запустить psql -U postgres -h localhost в терминале — если работает, проблема в настройках IDEA.
Какую версию JDBC драйвера PostgreSQL использовать?
Версия JDBC-драйвера не обязана точно совпадать с версией сервера — PostgreSQL поддерживает обратную совместимость. Рекомендация: использовать актуальную версию драйвера; для старых серверов проверять матрицу совместимости pgJDBC отдельно. Актуальная стабильная версия на май 2026 года — 42.7.11. Зависимость Maven: <groupId>org.postgresql</groupId><artifactId>postgresql</artifactId><version>42.7.11</version>. В Spring Boot можно не указывать версию — BOM управляет ею автоматически через spring-boot-starter-data-jpa.
Как передать параметры SSL для подключения к облачной базе?
Облачные базы (Supabase, Neon, DigitalOcean) требуют SSL. В JDBC URL добавьте параметры: jdbc:postgresql://host:5432/db?sslmode=require. Для строгой проверки сертификата: sslmode=verify-full&sslrootcert=/path/to/ca.crt. В Spring Boot: spring.datasource.url=jdbc:postgresql://host:5432/db?sslmode=require. В Database tool IDEA: вкладка SSH/SSL → включить Use SSL. Или в Advanced добавить параметр sslmode = require.



