Sqlite Datenbanken in Firefox

SQLite LogoMozilla Firefox speichert in der aktuellen Version (3.6.8 und auch schon vorher) viele Daten in SQLite-Datenbanken. SQLite ist je nach Anwendungszweck eine attraktive Alternative zu bekannten Datenbanken wie MySQL oder MS SQL. SQLite bietet ebenfalls Datenbank typische Funktionen wie Trigger, Views, Subselects. Allerdings gibt es kein Rechtesystem auf Datenbankebene. Bibliotheken für SQLite gibt es für nahezu jede Programmiersprachen. Auch Mozilla Firefox macht Gebrauch von zahlreichen SQLite-Dateien. Hier ein kleiner Einblick in die Verlauf-Datei places.sqlite. Gespeichert ist die Datei im Benutzerprofil unter C:\Dokumente und Einstellungen\<Benutzername>\Anwendungsdaten\Mozilla\Firefox\Profiles\<Id>.default\. Für das Bearbeiten/Abfragen der SQLite-Dateien benötigt man einen Datenbank Browser. Ich empfehle hierzu die Firefox Erweiterung SQLite-Manager.

Für mich waren in der Datenbank die Tabellen moz_places, moz_historyvisits interessant. Dabei lässt sich einfach eine Abfrage erstellen, die den letzten Besuchszeitpunkt der jeweiligen Seite ausgibt. Dabei ist die Sqlite-Funktion datetime genau richtig. Allerdings muss man die Daten noch etwas konvertieren.  Die Division ist nötig, weil Firefox einen recht exotischen (aber exakteren) Timestamp verwendet. Der jetzt entstandene Unix-Timestamp ist mit unixepoch umzuwandeln. Daten, hier mehrzahl von Datum, werden in Sqlite als UTC-Zeiten gespeichert. Deshalb konvertiere ich sie hier mit localtime.

SELECT datetime(moz_historyvisits.visit_date/1000000,'unixepoch','localtime') , moz_places.url
FROM moz_places INNER JOIN moz_historyvisits ON moz_places.id = moz_historyvisits.place_id;

Zum Schluss noch der Hinweis, dass SQLite derzeit keine RIGHT oder OUTER JOINs unterstützt.

Die Datei places.sqlite kann übrigends auch sehr gut in PHP-Webseiten eingebunden werden. Daraus lässt sich z.B. eine grafische Auswertung erstellen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Du kannst diese HTML-Tags und -Attribute verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>