Releases: BORNIOS/Jellyfin-Database-Providers-Postgres
Release list
PostgreSQL Database Provider 3.0.3
Español
3.0.3 — Integraciones privadas, mantenimiento y estabilidad
- Nuevo host seguro para esquemas privados de plugins: registro, migraciones aisladas y acceso sin exponer credenciales ni el esquema
publicde Jellyfin. - Nueva pestaña Integraciones para revisar esquemas registrados, consultar una muestra limitada de datos, ver métricas por tabla y administrar
ANALYZE,VACUUM (ANALYZE)yREINDEXpor esquema. - Las tareas programadas mantienen
publicy solo los esquemas privados autorizados por el administrador. - Health incorpora métricas de presión de buffers, bloques leídos, uso temporal y WAL para diagnosticar consultas lentas.
- Estado actual detecta el motor activo sin esperar la validación SQLite; esta continúa en segundo plano y se vuelve a comprobar antes de revertir.
- Se refuerza el aislamiento de identificadores en operaciones de exploración y mantenimiento de esquemas privados.
- Documentación actualizada en español e inglés, incluida la integración para desarrolladores, exportación SQLite segura y orientación para Docker.
Requiere Jellyfin 12.1.x, PostgreSQL 16 o posterior y .NET 10.
English
3.0.3 — Private integrations, maintenance, and stability
- New secure host for private plugin schemas: registration, isolated migrations, and storage without exposing credentials or Jellyfin's
publicschema. - New Integrations tab to review registered schemas, inspect a bounded data sample, view per-table metrics, and manage
ANALYZE,VACUUM (ANALYZE), andREINDEXper schema. - Scheduled tasks maintain
publicand only private schemas explicitly enabled by an administrator. - Health adds buffer-pressure, blocks-read, temporary-I/O, and WAL metrics for slow-query diagnosis.
- Current status detects the active engine without waiting for SQLite validation; validation continues in the background and is checked again before rollback.
- Strengthens identifier isolation in private-schema exploration and maintenance operations.
- Updated Spanish and English documentation, including developer integration, safe SQLite export, and Docker guidance.
Requires Jellyfin 12.1.x, PostgreSQL 16 or newer, and .NET 10.
PostgreSQL Database Provider 3.0.2
Español
3.0.2 — Estabilidad, integridad y exportación segura
- Corrige la normalización de
DateTime,DateTimeOffsety arreglos antes de escribir en PostgreSQL, evitando errores de Npgsql porKindincompatible. - Las escrituras concurrentes de
UserDatay las actualizaciones completas de elementos usan upserts atómicos para reducir conflictos durante actualizaciones bajo demanda. - La activación de PostgreSQL valida la conexión antes de modificar
database.xml. - Se elimina la restauración automática de backups y la restauración manual no reemplaza objetos existentes por defecto.
- Las consultas concurrentes idénticas de inicio se consolidan mientras se llena la caché.
- La exportación PostgreSQL → SQLite crea y valida un
library.dbSQLite real; evita el archivo inválido que impedía iniciar Jellyfin. - La exportación ya no copia ni marca a ciegas el historial de migraciones.
Verificado con Build Release, pruebas unitarias e integración real contra PostgreSQL. Requiere Jellyfin 12.1.x, PostgreSQL 16+ y .NET 10.
English
3.0.2 — Stability, integrity and safe export
- Fixes normalization of
DateTime,DateTimeOffset, and arrays before PostgreSQL writes, avoiding Npgsql errors caused by incompatibleKindvalues. - Concurrent
UserDatawrites and full item updates use atomic upserts to reduce conflicts during on-demand updates. - PostgreSQL activation validates the connection before changing
database.xml. - Automatic backup restore was removed, and manual restore no longer replaces existing objects by default.
- Identical concurrent home-screen queries are coalesced while the cache is populated.
- PostgreSQL → SQLite export creates and validates a real SQLite
library.db, preventing the invalid file that stopped Jellyfin from starting. - Export no longer blindly marks or copies migration history.
Verified with a Release build, unit tests, and real PostgreSQL integration tests. Requires Jellyfin 12.1.x, PostgreSQL 16+, and .NET 10.
PostgreSQL Database Provider 3.0.1
3.0.1 - Correccion de la integracion con JellyTrend
- Fix: el esquema jellytrend no creaba la tabla donde el motor de JellyTrend guarda el perfil de gustos aprendido (user_affinity), asi que ese perfil no quedaba almacenado. El esquema se crea ahora completo (version 4).
- El esquema se comprueba al arrancar: en una instalacion 3.0.0 la tabla que faltaba se crea sola. No hay que recrear el esquema ni reinstalar nada.
- Docs: la seccion de integracion con JellyTrend documenta las dos piezas del contrato: almacen de datos en el esquema jellytrend (fuera de public, para no colarse en las exportaciones a SQLite) y acelerador de consultas con SQL nativo en las recomendaciones (4-10x en bibliotecas grandes).
Requiere Jellyfin 12.1.x. Para Jellyfin 10.11.x usa la version 2.0.1.
PostgreSQL Database Provider 3.0.0
3.0.0 - Jellyfin 12.1
Adaptacion completa al contrato de proveedores de Jellyfin 12.1. Requiere .NET 10.
Novedades
- Consola SQL de solo lectura en el panel: 10 plantillas de diagnostico, historial en la sesion y rechazo de sentencias que modifiquen datos.
- Opciones avanzadas funcionales: tamano de pool, sentencias preparadas y tiempo de espera se validan, se guardan, se reflejan en el estado actual y se aplican al proveedor.
- Adaptacion al contrato y al runtime de 12.1: resolucion del ensamblado SQLite del servidor, compatibilidad por base de datos y motor de migracion reescrito.
Correcciones
- PurgeDatabase implementado: en 2.x lanzaba NotImplementedException y rompia la restauracion del respaldo completo del sistema.
- Exportacion a SQLite mas robusta: claves primarias verbatim, diagnostico de constraint, limpieza de filas huerfanas y library.db minimo valido para el arranque.
Verificacion
- Suite xUnit con 74 pruebas, incluidas integraciones reales con PostgreSQL 17.
- Auditor de esquema contra el modelo EF del servidor.
Documentacion
- Manual de migracion de Jellyfin 10.11.x a 12.x, novedades frente a 2.0.1 y nota tecnica de la adaptacion, en espanol e ingles.
Compatibilidad
- Jellyfin 12.1.x - PostgreSQL 16+ - .NET 10.
- Para Jellyfin 10.11.x usa la version 2.0.1.
PostgreSQL Database Provider 2.0.1
2.0.1 — Fix crítico de exportación PostgreSQL → SQLite
Esta versión corrige el fallo que podía abortar la exportación de PostgreSQL a SQLite y, con ello, dejar a los usuarios de Jellyfin 10.11.x sin ruta hacia Jellyfin 12.
Correcciones
- Claves primarias con mayúsculas/minúsculas: las columnas que forman la clave primaria se copian verbatim, sin normalizar. Antes, los pares de filas que solo difieren en el uso de mayúsculas colapsaban en la misma clave y el export terminaba con
SQLite Error 19: UNIQUE constraint failed: UserData.ItemId, UserData.UserId, UserData.CustomDataKey. - Diagnóstico legible: ante una violación de constraint, el log del plugin indica tabla, número de fila y valores de la clave, en lugar del error críptico de SQLite.
Integración continua
- La entrada del catálogo se publica también en
main, así que Jellyfin 10.11.x ve esta versión aunque el release se genere desde su propia rama.
Compatibilidad
| Elemento | Valor |
|---|---|
| Jellyfin | 10.11.x |
| Framework | net9.0 (.NET 9) |
targetAbi |
10.11.0.0 |
| Paquete | Jellyfin.Database.Providers.Postgres-2.0.1.0.zip |
| MD5 | 0d2f4217825e2e1b9edbe1d992855a2f |
Instalación
Desde el catálogo (Panel → Complementos → Catálogo → PostgreSQL Database Provider) o descomprimiendo el ZIP en la carpeta de plugins y reiniciando Jellyfin.
¿Vas a Jellyfin 12.1? Instala esta versión, exporta PostgreSQL a SQLite y después sigue el manual migracion-10.11-a-12.md con el plugin 3.0.0.
PostgreSQL Database Provider 2.0.0.0
Novedades en v2.0.0.0:
- Fix: timezone del servidor PostgreSQL restaurada. El switch global Npgsql fue reemplazado por DateTimeKindNormalizingInterceptor que solo normaliza escrituras con Kind=Unspecified.
- Fix: crash por duplicate PK en BaseItemProviders (23505) prevenido con UpsertConflictInterceptor.
- Nuevo: Health Check automatico al arrancar (10s) con diagnostico de conexion, indices invalidos, bloat, secuencias y queries lentas.
- Nuevo: integracion opcional con JellyTrend — recomendaciones 4-10x mas rapidas con SQL nativo y operador ; de arrays + indices GIN.
- Nuevo: DbErrorLoggingInterceptor registra todos los errores de BD en el log del plugin.
- Nuevo: workflow de release basado en JellyTrend, ZIP con los 3 DLLs necesarios.
- Docs: README ES/EN reescritos para v2.0 con capturas de las 4 pestanas del plugin.