Использовать переменную интерполяцию в psql.
Если вы укажете параметр -v variable1=value1
или --set variable1=value1
в командной строке, то :variable1
в файле sql будет заменен соответствующим текстовым значением.
Примечание: используйте строки в кавычках стандартного SQL, если вам нужны кавычки, пробелы и т. Д.
Пример:
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