Skip to content

Subissue 1525-08: Add PostgreSQL driver #1723

@josecelano

Description

@josecelano

Part of EPIC #1525 (overhaul persistence).

Spec:

  • docs/issues/1525-08-add-postgresql-driver.md

Goal:
Add PostgreSQL as a third production SQL backend by implementing an async sqlx-backed driver, wiring it into configuration/factory, adding PostgreSQL migration files aligned with existing migration history, and extending QA harnesses (compatibility matrix, qBittorrent E2E, benchmarks) so PostgreSQL has parity with SQLite/MySQL.

Planned tasks:

  • Add Driver::PostgreSQL in configuration + URL password masking test.
  • Enable sqlx postgres feature and add 4 PostgreSQL migration files (timestamp-aligned).
  • Implement packages/tracker-core/src/databases/driver/postgres.rs.
  • Wire PostgreSQL in driver factory and setup dispatch.
  • Add driver tests with testcontainers + env-gated execution.
  • Extend DB compatibility matrix to loop PostgreSQL versions.
  • Extend qBittorrent E2E runner with --db-driver postgresql (and keep parity with mysql/sqlite3).
  • Extend benchmark runner with PostgreSQL.
  • Add default PostgreSQL container config and update container/docs/cspell.

Acceptance criteria and implementation details are in the spec file above.

This issue should be implemented in a dedicated branch from develop and merged via a reviewable PR.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions