<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
Ciao,</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
ho avuto una bella e piacevole chiaccherata con <b>Alessandro Furieri</b> (che legge in CCN e che ringrazio davvero moltissimo).</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
Penso sia utile condividere con la lista un "estratto" dei punti che sono emersi da questo sostanzioso scambio di e-mail (grazie, Sandro, per rendere disponibile il Tuo pensiero).</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
Per la leggibilità, il testo è stato "adattato", intervenendo anche sulla formattazione.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
--------------------------------------------------------------</div>
<div class="elementToProof" style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<b>WAL </b>= Write-Ahead Logging mentre <b>SHM </b>= Shared Memory</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
e' tutta roba interna di <b>SQLite</b>. la spiegazione completa la puoi leggere qua:</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<a href="https://www.sqlite.org/wal.html" target="_blank" id="OWA38248457-9f74-4ff3-fd83-6ce28a13cc9e" class="ms-outlook-linkify OWAAutoLink" data-loopstyle="linkonly" style="margin: 0px;">https://www.sqlite.org/wal.html</a></div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
-----------------------------------------------</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
***** <b>GPKG-WAL</b>: 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. *****</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
            </div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
invece nel modo <b><i>classic </i></b>per gli stessi identici compiti viene creato un file con suffisso
<b><i>-journal</i></b> che pero' ha una struttura del tutto differente e che lavora in tutt'altro modo.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
nota che in entrambi i casi questi logfiles devono stare nella solita cartella dove si trova il DB.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
andiamo un po' a vedere cosa succede in caso di disastro, p.es. dopo una caduta di tensione o un crash di sistema.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
quando prima o poi andrai ad aprire quel DB che e' rimasto azzoppato, SQLite si accorgera' dalla presenza del file di log che ci sono operazioni pendenti da sanare. comincia quindi a sbobinarsi a ritroso tutto il log, ed alla fine il tuo DB tornera' immacolato
 e pulito come se nulla fosse accaduto.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
ovviamente avrai perso tutte le operazioni che non erano ancora arrivate ad un COMMIT, ma almeno ritorni al punto da cui eri partito.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
-----------------------------------------------</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
***** <b>GPKG-SHM</b>: 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. *****</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
            </div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
corretto: una <b><i>shared memory</i></b> e' solo un blocco di memoria che puo' essere condiviso tra processi diversi, che cosi' possono scambiarsi direttamente le informazioni. insomma, visto che non e' possibile avere una vera architettura
<b><i>client-server</i></b> si cerca di aggirare il problema facendo cooperare i vari processi passando per la
<b><i>shared memory</i></b>.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
-----------------------------------------------</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
in pratica sono dei meccanismi abbastanza sofisticati che servono proprio per dare a SQLite un certo livello di multiutenza. che non sara' comunque mai perfetto visto che l'architettura generale non e' intesa per quello, ma sicuramente sono un bel passo avanti
 rispetto al vecchio modo tradizionale con cui lavora SQLite.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
personalmente li uso pochissimo, perche' ogni rosa ha le sue spine, che in questo caso significa che se puta caso qualcosa va storto fare ripartire SQLite senza perdere dati protrebbe anche essere una gran bella rogna.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
inoltre potrebbero nascere dei conflitti se piu' processi operano sul medesimo DB, alcuni in modo
<b>WAL</b> ed altri in modo <b>classico</b>.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
se <b>QGIS</b> ha deciso di optare per il<b> WAL</b> mode dovrebbe significare che sono abbastanza sicuri di essere riusciti a mettere in piedi un ragionevole sistema di multiutenza.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
nota bene che comunque <b>SQLite</b> non ama affatto gli accessi remoti via rete, per cui in pratica tutti i processi concorrenti dovrebbero girare sempre sulla solita macchina dove e' installato di DB ... che ovviamente limita pesantemente la condivisione
 dei dati tra i vari processi.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
(...)</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
quei files temporanei vengono creati autonomamente da <b>SQLite</b>, ed ovviamente devono stare nella stessa cartella dove si trova il DB quindi tu non vedrai mai nulla se lavori su di una macchina diversa da quella dove sta il DB, e' consequenziale.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
il vero problema sta tutto in questa idea di accedere ad un DB che e' fisicamente collocato in un altro PC tramite condivisione di rete.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
per quanto mi risulta i ragazzi di <b>SQLite </b>non si stancano mai di ripetere che e' una ricetta garantita ed assicurata per disastri che potrebbero anche arrivare alla "frittura" complete del DB e di tutti i dati che contiene.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
funziona e funziona bene, ma solo fin quando sia il DB che tutti i processi che accedono a quel DB stanno tutti su di un'unica macchina, altrimenti e' come giocare alla roulette russa, a volte va liscia ma a volte invece no :-P</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
giusto per entrare un pelo nel tecnico; un buon sistema operativo e' in grado di assicurare un rigoroso sincronismo delle operazioni. se qualcosa dovesse andare male (crash, caduta di corrente etc) avrai sempre un solido punto di ripristino da cui ripartire.
 magari scoprirai che avrai perso le ultimissime operazioni ancora non concluse, ma tutto il resto verra' correttamente ripristinato.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
ma se nel mezzo ci infili una rete con tutti i suoi tempi di latenza non c'e' piu' modo di garantire la sincronicita' complessiva, perche' in caso di crash qualche informazione assolutamente critica potrebbe essere ancora in transito sulla rete e dunque andra'
 persa per sempre in modo del tutto non recuperabile.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
conclusione: se per te lavorare in parallelo sul solito DB da piu' postazioni client e' assolutamente indispensabile passare a
<b>PostGIS</b>, che avendo una vera architettura client/server ti garantisce una ripartenza certa anche nei casi piu' incresciosi.
<b>SQLite </b>e' meraviglioso, ma non e' progettato per questi ambienti, ed e' inutile tentare di tirarlo per la coda.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
(...)</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
****** <b>SQLITE non è pensato per gestire l'editing concorrente</b> *****</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
assolutamente no.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
ci sono diversi trucchetti per tentare di aggirare il problema, ma per l'appunto sono semplicemente dei trucchetti (e pure rischiosi). per gli accessi concorrenti c'e'
<b>PostGIS </b>che e' fatto apposta.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
***** <b>Ma allora, i due piccoli files ( "GPKG-WAL" & "GPKG-SHM") sono davvero necessari? E se si, a cosa servono?
</b>*****</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
e' semplicemente una scelta degli sviluppatori; se tu apri il DB <b>SQLite </b>in un certo modo lui attiva diligentemente il
<b>WAL </b>mode, altrimenti lavora nel modo classico ... ma questo ovviamente non significa affatto che poi le cose funzioneranno come ci si aspetta.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
questa e' una responsabilita' che cade interamente sulle spalle degli sviluppatori e dei loro utenti. che magari dovrebbero essere ben consapevoli del fatto che il
<b>WAL mode </b>su rete ha i suoi lati oscuri e pure pericolosi.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
giusto per capirsi; io personalmente ho usato con buon successo il <b>WAL </b>mode su un
<b>WEB server </b>dove avevo un unico processo abilitato in scrittura e millantamila processi che accedevano solo in lettura ... cosi' funziona di sicuro e funziona pure bene, ma se si pretende di scrivere simultaneamente da parte di piu' utenti si sta sicuramente
 andando in cerca di guai.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<b>***** Visto che è bene operare in regime di "single-user" (ciascuno gestisce, in locale, il proprio database), i due files temporanei sono "inutili". Ma, se così fosse, perché mantenerli? Sbaglio a pensare?*****</b></div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
dipende ... io personalmente uso sempre i buoni vecchi <b><i>journal-files </i></b>e mi sono sempre trovato benissimo.</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
altri sviluppatori potrebbero avere idee o esigenze diverse in cui magari il <b>WAL
</b>e' piu' performante. dipende dai casi (e pure dai gusti personali).</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(36, 36, 36);">
<span style="background-color: rgb(255, 255, 255);"><b>***** Usando un GPKG in QGIS i due files TMP vengono creati perché - in linea teorica - il DB supporta l'editing concorrente ma è meglio non usarlo a meno che dati e processi non risiedano tutti sulla stessa
 macchina. *****</b></span></div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(36, 36, 36);">
<span style="background-color: rgb(255, 255, 255);"><br>
</span></div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(36, 36, 36);">
<span style="background-color: rgb(255, 255, 255);"><br>
</span></div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(36, 36, 36);">
<span style="background-color: rgb(255, 255, 255);"><b>P.S.</b> giusto per la curiosita' di saperlo. nel mio lavoro (...) sui
<i>server </i>uso molto spesso dei <b>DB SQLite</b> belli ciccioni da<b> diversi GB</b> ;-)</span></div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(36, 36, 36);">
<span style="background-color: rgb(255, 255, 255);">volano come i missili e ci accedono per la consultazione via
<b>WEB </b>un casino di utenti ... ma sono tutti <b>in sola lettura</b> ;-)</span></div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(36, 36, 36);">
<span style="background-color: rgb(255, 255, 255);">i dati "freschi" entrano sempre tramite
<b>Postgres</b>, e solo a cose fatte vado ad estrarre i db di lavoro <b>SQLite </b>
che alimentano i servizi <b>WEB </b>di consultazione. </span></div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(36, 36, 36);">
<span style="background-color: rgb(255, 255, 255);"><br>
</span></div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(36, 36, 36);">
<span style="background-color: rgb(255, 255, 255);">... e detto per inciso, uno<b> SQLite
</b>ben ottimizzato rispetto a <b>Postgres </b>e' come vedere una moto super sport che gareggia con un TIR :-P</span></div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(36, 36, 36);">
<span style="background-color: rgb(255, 255, 255);">ma il nostro ciclo di lavoro e' molto particolare, la programmazione dei servizi cambia solo 1-2 volte al mese, per il resto del tempo tutto resta invariato.</span></div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(36, 36, 36);">
<span style="background-color: rgb(255, 255, 255);"><br>
</span></div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: rgb(36, 36, 36);">
<span style="background-color: rgb(255, 255, 255);">per l'appunto, dipende da caso a caso.</span></div>
<div class="elementToProof" style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
--------------------------------------------------------------</div>
<div class="elementToProof" style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 8pt; color: rgb(32, 31, 30);">
<span style="background-color: rgb(255, 255, 255);">---</span></div>
<div id="Signature">
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">
<span style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 8pt; color: rgb(32, 31, 30); background-color: rgb(255, 255, 255);">Un Caro Saluto,</span><br>
<span style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 8pt; color: rgb(32, 31, 30); background-color: rgb(255, 255, 255);"><a href="https://www.dist.polito.it/personale/scheda/(nominativo)/francesco.fiermonte" id="OWAe2f44153-2940-f6f0-07ae-16e9615a3774" class="OWAAutoLink" data-loopstyle="linkonly" style="margin: 0px;">Francesco</a></span></div>
<div style="margin: 0px; font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 8pt; color: rgb(32, 31, 30);">
--------------------------------------------------------</div>
<div style="margin: 0px; font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 8pt; color: rgb(32, 31, 30);">
<span style="background-color: rgb(255, 255, 255);">This message and its attachments are private and confidential. If you have received this message in error, please notify the sender and remove it and its attachments from your system.</span></div>
<div style="margin: 0px; font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 8pt; color: rgb(32, 31, 30);">
<span style="background-color: rgb(255, 255, 255);">-----------------------------------------</span></div>
<div style="margin: 0px; font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 8pt; color: rgb(32, 31, 30);">
<span style="background-color: rgb(255, 255, 255);">e.o.f.</span></div>
</div>
<div id="appendonsend"></div>
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
</body>
</html>