Użyj funkcji zmiennej interpolacji w psql.
Jeśli określisz -v variable1=value1
lub --set variable1=value1
parametr w wierszu poleceń, a następnie :variable1
w pliku sql zostanie zastąpiona odpowiednią wartością tekstową.
Uwaga:jeśli potrzebujesz cudzysłowów, spacji itp., użyj ciągów w cudzysłowie w standardowym SQL.
Przykład:
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