Skip to content

v0.1.0 - PostgreSQL Backend

Choose a tag to compare

@o51r15 o51r15 released this 06 Jun 03:38

Functional PostgreSQL backend replacing the original SQLite implementation.

What changed:

  • SQLite replaced with PostgreSQL — resolves Oban write contention and crash loops under load
  • Oban engine switched from Lite to Basic (Postgres native)
  • All SQLite-specific SQL rewritten for Postgres (IFNULLCOALESCE, DATETIME() → interval arithmetic, regexp_like~, COLLATE NOCASELOWER())
  • Full-text search migrated from SQLite FTS5 to Postgres tsvector with GIN index and trigger-maintained updates
  • uploaded_at column type corrected to timestamptz
  • Oban unique job conflict handling fixed for Postgres advisory lock behavior

Requires: Postgres 16 sidecar container. See README for compose setup.

Upstream base: kieraneglin/pinchflat @ 2025.9.26

Full Changelog: https://github.com/o51r15/pinchflat/commits/v0.1.0