import psycopg2 conn = psycopg2.connect(host="192.168.1.76", port=5432, user="vladimir.buzalka", password="Vlado7309208104++", database="fotky_buzalkovi") cur = conn.cursor() cur.execute(""" SELECT COUNT(*) AS unikatnich_souboru, SUM(velikost) AS celkova_velikost, AVG(velikost) AS prumerna_velikost, MIN(velikost) AS nejmensi, MAX(velikost) AS nejvetsi FROM zaloha_obrazku """) z = cur.fetchone() cur.execute("SELECT COUNT(*), COUNT(DISTINCT hostname) FROM zdrojove_soubory") s = cur.fetchone() cur.execute("SELECT hostname, COUNT(*) FROM zdrojove_soubory GROUP BY hostname ORDER BY hostname") hosts = cur.fetchall() conn.close() def fmt(b): if b is None: return "N/A" for unit in ("B", "KB", "MB", "GB", "TB"): if b < 1024: return f"{b:.1f} {unit}" b /= 1024 return f"{b:.1f} PB" print("=" * 45) print(" ZÁLOHA — statistiky") print("=" * 45) print(f" Unikátních souborů (záloha): {z[0]:>10,}") print(f" Celková velikost: {fmt(z[1]):>10}") print(f" Průměrná velikost: {fmt(z[2]):>10}") print(f" Nejmenší soubor: {fmt(z[3]):>10}") print(f" Největší soubor: {fmt(z[4]):>10}") print() print(f" Zdrojových záznamů celkem: {s[0]:>10,}") print(f" Počet zdrojových serverů: {s[1]:>10,}") print() print(" Záznamy podle hostname:") for host, count in hosts: print(f" {host:<20} {count:>8,} souborů") print("=" * 45)