[QGIS-it-user] [ QGIS & GPKG ] - WAL & SHM - SESSIONE DI EDITING "MONOUTENTE" (IN "LOCALE") E "MULTIUTENTE" (CONCORRENTE, SU DISCO CONDIVISO)

Francesco Fiermonte francesco.fiermonte a polito.it
Lun 29 Apr 2024 05:27:28 PDT


Buongiorno,

sto cercando di approfondire, con QGIS, il formato dati "Geopackage" e, in particolare, i files <temporanei> "gpkg-wal"[0] & "gpkg-shm"[1]. La documentazione presente in rete è abbondante ma mi "sfugge" un qualcosa...

Provate a seguirmi.

  1.
Creo un GPKG e lo salvo, in locale, in una cartella. Nessun file temporaneo viene generato nella cartella contenente il GPKG.
  2.
Creo una connessione al GPKG appena creato. Nessun file temporaneo viene generato.
  3.
Creo un nuovo layer (ad esempio, poligonale). Nessun file temporaneo viene generato.
  4.
Attivo sul layer appena creato una sessione di editing. Vengono generati due files temporanei, gpkg-wal & gpkg-shm
  5.
Chiudo la sessione di editing. Vengono eliminati i due files temporanei, gpkg-wal & gpkg-shm

Perfetto.

Ripeto gli stessi passaggi, con le stesse versioni di QGIS utilizzate (PC1: WIN 11, QGIS 3.28.12; PC2 WIN 10, QGIS 3.28.14). Ma, anziché usare un GPKG "locale" salvo il database su un disco di rete, condiviso, in modo da testare l'editing concorrente.

  1.
Creo un GPKG e lo salvo, in remoto, su un disco condiviso, in una cartella. Nessun file temporaneo viene generato nella cartella contenente il GPKG.
  2.
Creo una connessione al GPKG appena creato. Nessun file temporaneo viene generato.
  3.
Creo un nuovo layer (ad esempio, poligonale). Nessun file temporaneo viene generato.
  4.
Attivo sul layer appena creato una sessione di editing. Nessun file temporaneo viene generato.
  5.
Chiudo la sessione di editing (salvando le modifiche nello stesso istante) e tutto si conclude senza alcun problema.

Non mi è chiaro il comportamento soprattutto per quanto riguarda i punti 4 e 5. Mi sarei aspettato un comportamento esattamente opposto a quanto evidenziato (anche per gestire l'"editing concorrente") ma forse mi sono perso un qualcosa.

Posso chiedere il Vostro aiuto?

Grazie!

Ciao,
Francesco.

[0] gpkg-wal: Questo file contiene il log di scrittura anticipata (WAL) per la connessione corrente. In pratica, registra lo stato transazionale del database tra le operazioni di COMMIT o ROLLBACK. In altre parole, tiene traccia dei cambiamenti apportati al database durante una sessione di lavoro.

[1] gpkg-shm: Questo file gestisce l’accesso concorrente al database tramite un indice verso il file WAL. In sostanza, aiuta a garantire che più utenti possano accedere al database contemporaneamente senza causare conflitti.

Dove:  WAL: Write-ahead Log; SHM: Shared Memory

https://sqlite.org/tempfiles.html

-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.osgeo.org/pipermail/qgis-it-user/attachments/20240429/4cb50be0/attachment.htm>


Maggiori informazioni sulla lista QGIS-it-user