[annuncio] soluzione bitemporale per PostgreSQL (Beta)

From: Lorusso Domenico <domenico(dot)l76(at)gmail(dot)com>
To: pgsql-it-generale(at)lists(dot)postgresql(dot)org
Subject: [annuncio] soluzione bitemporale per PostgreSQL (Beta)
Date: 2025-09-03 16:40:26
Message-ID: CAJMpnG6bxKKpK9uaHnUtyF3do97QnytstbkrEm6eG9BP4tGMTw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-it-generale

Cara ragazzi,

Sono felice di condividere un progetto open source che ho sviluppato nel
mio tempo libero. Si tratta di una soluzione bitemporale creata interamente
all'interno di PostgreSQL (qui il GIT
<https://github.com/DomenicoL/table-versioning/>), e sebbene sia ancora
nelle sue prime fasi beta, ha l'ambizione di fornire un framework completo
per la gestione dei dati temporali. Il progetto è ispirato dalla necessità
di un modo semplice ma potente per gestire i record storici e interrogare i
dati così come esistevano in qualsiasi momento.

Questa soluzione è progettata per essere altamente configurabile e utilizza
viste con trigger INSTEAD OF per gestire in modo trasparente inserimenti,
aggiornamenti ed eliminazioni tra le tabelle _current e _history. Le
caratteristiche principali includono:

-

*Supporto Bitemporale*: Traccia sia il "valid time" (il periodo in cui
un dato è valido nel mondo reale) sia il "transaction time" (il momento in
cui il dato è stato registrato nel database).
-

*Storizzazione Automatica*: Il sistema crea e gestisce automaticamente i
record storici, garantendo una traccia di audit completa e immutabile.
-

*Logica basata su Trigger*: La logica principale è incapsulata in una
funzione vrsn.trigger_handler(), rendendola facile da applicare a
qualsiasi tabella tramite una vista.
-

*Comportamento Configurabile*: Un insieme di parametri e variabili di
stato (vrsn.tar_state_variables) consente un controllo dettagliato su
versioning, risoluzione dei conflitti e altri comportamenti.
-

*Aderenza alla Teoria Bitemporale*: Il framework è progettato per essere
pienamente conforme al modello bitemporale proposto da Snodgrass.
-

*Puro SQL & Trasparenza*: La soluzione è costruita usando funzioni e
tipi puri di PostgreSQL, senza richiedere *estensioni esterne*, e
mantiene una *struttura dati trasparente* che non maschera le tabelle
sottostanti.

Questo progetto è un work in progress, e mi piacerebbe molto ricevere il
vostro feedback e la vostra collaborazione per migliorarlo. Se il concetto
vi interessa e volete esplorare il codice o offrire qualche consiglio, la
vostra esperienza sarebbe molto apprezzata.

Secondo voi ha senso condividerlo anche sulla ML principale?

Grazie in anticipo

--
Domenico L.

per stupire mezz'ora basta un libro di storia,
io cercai di imparare la Treccani a memoria... [F.d.A.]

Responses

Browse pgsql-it-generale by date

  From Date Subject
Next Message Luca Ferrari 2025-09-04 06:32:54 Re: [annuncio] soluzione bitemporale per PostgreSQL (Beta)
Previous Message Federico 2025-07-28 06:29:56 PGDay Napoli 2025, nuovo appuntamento con PostgreSQL!