Verwenden Sie die Variablen-Interpolationsfunktion in psql.
Wenn Sie -v variable1=value1
angeben oder --set variable1=value1
Parameter auf der Befehlszeile, dann :variable1
in der SQL-Datei wird durch den entsprechenden Textwert ersetzt.
Hinweis:Verwenden Sie Standard-SQL-Strings in Anführungszeichen, wenn Sie Anführungszeichen, Leerzeichen usw. benötigen.
Beispiel:
echo "SELECT :arg1 FROM :arg2 LIMIT 10;" > script.sql
psql mydatabase -v arg1=relname -v arg2=pg_class < script.sql
psql mydatabase -v arg1="'some string' as label" -v arg2=pg_namespace < script.sql