maxmind

MaxMind-Datenbanken lesen (GeoLite, GeoIP und weitere)

Maintainer: marselester

Installation und Laden

INSTALL maxmind FROM community;
LOAD maxmind;

Beispiel

SELECT geolite_city('./GeoLite2-City.mmdb', '1.0.64.0', '');

Über maxmind

Lesen Sie beliebige MaxMind-Datenbanken mit Tabellen- und Skalarfunktionen. GeoLite- und GeoIP-Datenbanken erhalten typisierte Spalten; andere MMDB-Dateien geben JSON in einer record-VARCHAR-Spalte zurück.

Alle IP-Netzwerkblöcke mit read_mmdb() scannen. Verwenden Sie den optionalen Parameter network, um den Scan auf ein Teilnetz zu beschränken, z. B. read_mmdb(path, network='1.0.0.0/8'). Leere Datensätze werden standardmäßig ausgeschlossen; verwenden Sie include_empty=true, um sie einzubeziehen.

SELECT network, city.names.en
FROM read_mmdb('./GeoLite2-City.mmdb')
WHERE city.names.en IS NOT NULL
LIMIT 1;
┌─────────────┬───────────┐
│ network │ en │
├─────────────┼───────────┤
1.0.64.0/20 │ Hiroshima │
└─────────────┴───────────┘

Schlagen Sie einen Datensatz per IP-Adresse mit typisierten Skalarfunktionen nach, die Structs zurückgeben. Der dritte Parameter filtert, welche Felder für schnellere Nachschlagevorgänge dekodiert werden (übergeben Sie '' für alle Felder).

SELECT geolite_city('./GeoLite2-City.mmdb', '1.0.64.0', 'city').city.names.en AS en;
┌───────────┐
│ en │
├───────────┤
│ Hiroshima │
└───────────┘

Verwenden Sie mmdb_record(), um einen Datensatz aus einer beliebigen MMDB-Datei als JSON nachzuschlagen:

SELECT mmdb_record('./GeoLite2-City.mmdb', '1.0.64.0', 'city')::json -> 'city' -> 'names' ->> 'en' AS en;
┌───────────┐
│ en │
├───────────┤
│ Hiroshima │
└───────────┘

Hinzugefügte Funktionen

function_name function_type description comment examples
extension_version scalar NULL NULL
geoip_anonymous_ip scalar NULL NULL
geoip_anonymous_plus scalar NULL NULL
geoip_city scalar NULL NULL
geoip_connection_type scalar NULL NULL
geoip_country scalar NULL NULL
geoip_densityincome scalar NULL NULL
geoip_domain scalar NULL NULL
geoip_enterprise scalar NULL NULL
geoip_ip_risk scalar NULL NULL
geoip_isp scalar NULL NULL
geoip_static_ip_score scalar NULL NULL
geoip_user_count scalar NULL NULL
geolite_asn scalar NULL NULL
geolite_city scalar NULL NULL
geolite_country scalar NULL NULL
mmdb_record scalar NULL NULL
read_mmdb table NULL NULL

Überladene Funktionen

Diese Erweiterung fügt keine Funktionsüberladungen hinzu.

Hinzugefügte Typen

Diese Erweiterung fügt keine Typen hinzu.

Hinzugefügte Einstellungen

Diese Erweiterung fügt keine Einstellungen hinzu.