Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:psycopg

Dies ist eine alte Version des Dokuments!


  • Postgres-Datenbank-Treiber für Python

Server-side binding

  • Technik bei der das SQL-Statement und die Werte getrennt an die Datenbank gesendet werden
  • Ziel ist u.a. die Vermeidung von sql-Injection durch Trennung von Statement und Werten
    • die Datenbank wertet Werte nicht aus → dadurch können sie keine Statements enthalten
  • ist auf Statement limitiert
    • ein execute()-Call kann nur ein Statement enthalten das Server-side-binding macht

conn.execute(insert into whatever values(%s); select * from somethingelse where id = %s, ("firstvalue", "secondvalue"))

  • obiges funktioniert nicht
  • wenn mehrere Statements vorhanden sind, aber nur eins Server-side-binding nutzt funktioniert das
python/psycopg.1688143066.txt.gz · Zuletzt geändert: 2023/06/30 18:37 von root