Minecraft PostgreSQL JDBC

Universal jar shipping the PostgreSQL JDBC driver as a Bukkit/Spigot/Paper plugin and Fabric/Forge/NeoForge mod.

42

Minecraft PostgreSQL JDBC

PostgreSQL JDBC

The official PostgreSQL JDBC driver (pgjdbc) repackaged as a Bukkit/Spigot/Paper plugin and a Fabric/Forge/NeoForge mod. One universal jar covers every supported loader and MC version.

The mod does nothing on its own — it exists so plugins or mods that want to talk to a PostgreSQL database don't each have to bundle their own copy of the driver.

What's in the jar

`org.postgresql:postgresql:42.7.5` plus minimal loader stubs for Spigot, Forge 1.12, Forge 1.13–1.16, Forge 1.17–1.20, NeoForge 1.21+, and Fabric. The driver classes stay at their canonical `org.postgresql.*` paths — no relocation — so consumers find them with plain `Class.forName("org.postgresql.Driver")`. `META-INF/services/java.sql.Driver` is preserved so the driver auto-registers with `DriverManager`.

Compatibility

| Loader | MC versions | Notes | |---|---|---| | Bukkit / Spigot / Paper / Folia / Purpur | 1.8 → current | drop into `plugins/` | | Fabric | 1.16.1 → current | needs Fabric Loader 0.14+ | | Forge | 1.12 → 1.20 | universal jar, no Mixins | | NeoForge | 1.21 → current | drop into `mods/` |

Java 8+ required (pgjdbc 42.x baseline).

Using it from a plugin or mod

Declare pgjdbc as `compileOnly` against the same version this jar ships:

```kotlin compileOnly("org.postgresql:postgresql:42.7.5") ```

Probe at startup. Fall through gracefully if the operator hasn't installed this:

```java try { Class.forName("org.postgresql.Driver"); } catch (ClassNotFoundException e) { getLogger().warning("PostgreSQL backend disabled — install minecraft-postgresql-jdbc"); return; } try (Connection c = DriverManager.getConnection(url, user, password)) { // ... } ```

On Paper 1.17+ each plugin's classloader is isolated. Add this mod to your `plugin.yml` `softdepend` so the driver classes are visible to your plugin:

```yaml softdepend: [minecraft-postgresql-jdbc] ```

Fabric and NeoForge unify all mods on one classloader, so no equivalent declaration is needed there.

Versioning

The jar version tracks pgjdbc one-to-one. `42.7.5+2026-04-25` ships pgjdbc 42.7.5; the suffix is the build date. A scheduled GitHub Action checks Maven Central daily — when pgjdbc cuts a new release, it opens an auto-merge PR and the Modrinth release goes out automatically.

License

The driver is BSD-2-Clause (PostgreSQL Global Development Group). The repackage adds no functional changes and inherits that license. Full text in `LICENSE`.

---

Issues, source: GitHub.

ADS