TL;DR
~/Library/Safari/ContentBlockerStatistics.db-wal
est le fichier journal pour ~/Library/Safari/ContentBlockerStatistics.db
- Il ne peut pas être lu directement et se vide une fois que vous quittez Safari.
~/Library/Safari/ContentBlockerStatistics.db
peut être lu avec sq3lite
- Si
~/Library/Safari/ContentBlockerStatistics.db
devient trop volumineux, il peut être supprimé en toute sécurité tant que Safari n'est pas en cours d'exécution
En utilisant les outils standard de macOS
$ file ContentBlockerStatistics.db*
ContentBlockerStatistics.db: base de données SQLite 3.x, version utilisateur 1, dernière écriture utilisant la version SQLite 3032003
ContentBlockerStatistics.db-shm: données
ContentBlockerStatistics.db-wal: journal de pré-écriture SQLite, version 3007000
Donc ContentBlockerStatistics.db
est une base de données et le fichier -wal
est le journal de pré-écriture où tous les changements de DB sont écrits pendant que Safari est en cours d'exécution. Vous ne pouvez pas parcourir le journal de pré-écriture et la DB est verrouillée pendant que Safari est en cours d'exécution. Si vous fermez Safari, le contenu du journal de pré-écriture est vidé.
$ file ContentBlockerStatistics.db*
ContentBlockerStatistics.db: base de données SQLite 3.x, version utilisateur 1, dernière écriture utilisant la version SQLite 3032003
ContentBlockerStatistics.db-shm: données
ContentBlockerStatistics.db-wal: vide
Pour voir ce qui se trouve dans ContentBlockerStatistics.db
, utilisez sqlite3
(ou tout autre navigateur MySql tiers).
$ sqlite3 ContentBlockerStatistics.db
Version SQLite 3.32.3 2020-06-18 14:16:19
Entrez ".help" pour obtenir des conseils d'utilisation.
sqlite> .schema
CREATE TABLE FirstPartyDomains (firstPartyDomainID INTEGER PRIMARY KEY AUTOINCREMENT,domain TEXT NOT NULL UNIQUE ON CONFLICT FAIL);
CREATE TABLE sqlite_sequence(name,seq);
CREATE TABLE ThirdPartyDomains (thirdPartyDomainID INTEGER PRIMARY KEY AUTOINCREMENT,domain TEXT NOT NULL UNIQUE ON CONFLICT FAIL);
CREATE TABLE BlockedResources (firstPartyDomainID INTEGER NOT NULL,thirdPartyDomainID INTEGER NOT NULL,lastSeen REAL NOT NULL,FOREIGN KEY (firstPartyDomainID) REFERENCES FirstPartyDomains(firstPartyDomainID) ON DELETE CASCADE,FOREIGN KEY (thirdPartyDomainID) REFERENCES ThirdPartyDomains(thirdPartyDomainID) ON DELETE CASCADE,PRIMARY KEY (firstPartyDomainID, thirdPartyDomainID));
FirstPartyDomains
semble contenir les domaines que vous avez visités
ThirdPartyDomains
semble contenir tous les domaines référencés à partir des domaines de première partie