Repository navigation
Home
Run Plex Media Server with PostgreSQL instead of SQLite. Zero Plex modifications required.
Latest published release: v1.3.21
Published on 9 October 2026 as a regular release, with the runtime, migration and FTS fixes and real movie/TV acceptance tooling. See the release changelog.
The complete native LinuxServer/PlexInc, amd64/arm64, PostgreSQL 15/18 matrix, 100 restart cycles and 5h50 soak are unfinished. v1.3.21 was published at the maintainer's explicit request before full native certification. Local PlexInc/arm64/PG18 full movie/TV decoding and PostgreSQL recovery passed; some GitHub runners could not download test media (HTTP 403).
Binary publication does not certify the unresolved runtime gates. Docker production promotion stays gated. Browser playback and server-side transcoding remain unverified. See Stability Testing and the release README for evidence, fixtures and limitations.
Rust-safe shim runtime. 92% of unsafe raw pointer dereferences eliminated. Business logic is Rust-safe; unsafe confined to FFI boundary.
-
92% unsafe reduction — raw pointer dereferences 806→59, internal functions use safe
&mutreferences - Memory leak fix — 1.8GB→59MB footprint (PGresult leak, transaction routing, cached_result cleanup)
- 3 deadlocks eliminated — recursive conn mutex, ABBA prevention, convoy fix
- 11 data races fixed — atomic counters, seqlocks, OnceLock, eager hook resolution
- PgStmt Vec-based — on-demand allocation, 540 bytes for 0-param queries (was 88KB)
-
Rust Mutex on PgStmt —
pthread_mutex_treplaced withstd::sync::Mutex - 138 functions de-FFI'd — enables inlining, eliminates C ABI overhead
-
Clippy clean — zero warnings with
-D warningson Linux CI - Duplicate stmt fix: SQLSTATE 42P05 detection, DEALLOCATE ALL at connection init (v0.9.40)
- Stale stmt recovery: prepared statement cache auto-invalidated after PG restart via SQLSTATE 26000 (v0.9.39)
- Pool auto-grow: pool automatically grows when threads exceed configured size (v0.9.36)
- Single-row streaming mode for all READ queries (
PQsetSingleRowMode) (v0.9.28)
-
Stability Testing — Native acceptance matrix, real media and release gates
-
How It Works — Architecture, SQL translation, stack protection
-
Modules — Code organization, test suites, caching architecture
-
Benchmarks — SQLite vs PostgreSQL performance comparison
-
Troubleshooting — Common issues, debugging, known limitations
-
Changelog — Release history and bug fixes
-
README auf Deutsch — Dokumentation auf Deutsch
-
README en Esperanto — Dokumentado en Esperanto
-
README as Gaeilge — Doiciméadacht as Gaeilge
-
README in het Nederlands — Documentatie in het Nederlands
-
README en Español — Documentación en español