Ich glaube in Ihrem Fall sollten Sie bleiben "Entkommen alle User-gelieferten Input".
Diese Technik wird im Allgemeinen als letzter Ausweg verwendet. Die Validierung von Eingaben ist wahrscheinlich die bessere Wahl, da diese Methode im Vergleich zu anderen Abwehrmechanismen gebrechlich ist und wir nicht garantieren können, dass sie die gesamte SQL-Injektion in allen Situationen verhindert.
Diese Technik dient dazu, Benutzereingaben zu vermeiden, bevor sie in eine Abfrage eingefügt werden. Es ist sehr datenbankspezifisch in seiner Implementierung. Es wird normalerweise nur empfohlen, älteren Code nachzurüsten, wenn die Implementierung der Eingabevalidierung nicht kosteneffektiv ist. Anwendungen, die von Grund auf neu erstellt werden, oder Anwendungen, die eine geringe Risikotoleranz erfordern, sollten mit parametrisierten Abfragen, gespeicherten Prozeduren oder einer Art von Object Relationalem Mapper (ORM), die Ihre Abfragen für Sie erstellt, erstellt oder neu geschrieben werden.
Diese Technik funktioniert so. Jedes DBMS unterstützt ein oder mehrere Zeichenumgehungsschemas, die für bestimmte Arten von Abfragen spezifisch sind. Wenn Sie dann alle vom Benutzer bereitgestellten Eingaben mit dem richtigen Escapeschema für die von Ihnen verwendete Datenbank umgehen, verwechselt das DBMS diese Eingabe nicht mit dem vom Entwickler geschriebenen SQL-Code, wodurch mögliche SQL-Injection-Schwachstellen vermieden werden.
Im Fall, wenn PostGres Sie Dollar Zitiert
https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-DOLLAR-QUOTING