psql
のように見えます :variable
をサポートしていません psql
内の置換 バックスラッシュコマンド。
test=> \set somevar fred
test=> \copy z from :somevar
:somevar: No such file or directory
したがって、unixシェルなどの外部ツールを介してこれを行う必要があります。例:
for f in *.sql; do
psql -c "\\copy $(basename $f) FROM '$f'"
done