Explorar el Código

postgresql Abfragen angelegt

michael2015 hace 4 días
padre
commit
2a63bd5ee7

+ 74 - 0
Community/Bildung/FF@home/70 Leases in postgresql bzw. kea ermitteln.page

@@ -0,0 +1,74 @@
+---
+format: markdown
+...
+
+# Leases in der postgresql-Tabelle kea ermitteln  
+
+Kea schreibt die Leases je Domäne in eine postgresql-Tabelle mit dem Namen kea. Diese können insgesamt oder je Domäne ausgelesen werden, um festzustellen, ob die Anzahl der möglichen Leases je Domäne ausreicht.   
+
+# Vorgehen  
+
+Aufruf der postgresql-Datenbank mit der Tabelle kea_leases und dem User kea auf dtm1:  
+
+    $ sudo -u postgres /usr/lib/postgresql/9.5/bin/psql kea_leases kea -h "127.0.0.1" -W  
+
+Das Passwort steht in kea.conf.  
+
+Aufruf der postgresql-Datenbank mit der Tabelle kea_leases und dem User kea auf dus0x für posrgresql Version 17:  
+
+    $ sudo -u postgres /usr/lib/postgresql/17/bin/psql kea_leases _kea -h "127.0.0.1" -W 
+
+Hier muss der User _kea verwendet werden! Das Passwort seht in kea-dhcp4.conf.  
+Es ertscheint der postgresql-Prompt:
+
+    kea_leases=> 
+
+# Abfragen:  
+
+    select hwaddr, valid_lifetime, expire, subnet_id, hostname, address/256/256/256 as ip1, address/256/256%256 as ip2, address/256%256 as ip3, address%256 as ip4 from lease4 where fqdn_fwd = true and subnet_id=2 order by expire desc;
+
+Ergebnis: alle aktiven Geräte aus Domäne 2 mit ip als Dezimalzahl, wobei IP2 die Domäne anzeigt, hier 2.
+
+    select * from lease4 where subnet_id=2 and fqdn_fwd=true order by expire DESC;
+
+Ergebnis: alle Geräte aus Domäne 2 mit fqdn_fwd=true, nach Alter absteigend sortiert
+
+ohne subnet_id=2:
+
+    select * from lease4 where and fqdn_fwd=true order by expire DESC;
+
+Ergebnis: alle Geräte aus Domäne 2, auch die nicht verbundenen Geräte?, nach Alter absteigend sortiert
+
+# Mögliche Spalten der Tabelle lease4 in postgresql:
+
+    SELECT column_name, data_type
+    FROM information_schema.columns
+    WHERE table_name = 'lease4';
+
+Ergebnis:  
+
+    |  column_name   |        data_type |        
+    | -------------- | ---------------- |  
+    | address        | bigint |  
+    | hwaddr         | bytea |  
+    client_id      | bytea  
+    valid_lifetime | bigint  
+    expire         | timestamp with time zone  
+    subnet_id      | bigint  
+    fqdn_fwd       | boolean  
+    fqdn_rev       | boolean  
+    hostname       | character varying  
+    state          | bigint  
+   (10 rows)  
+
+# Anzahl der leases ermitteln für Domäne 2:
+
+    select count(*) from lease4 where subnet_id=2; 
+    count 
+    -------
+    2342
+    (1 row)
+
+# Alle  leases über alle Domänen:  
+
+    select subnet_id, count(*) from lease4 group by subnet_id order by subnet_id;