ऐसा लगता है psql
:variable
. का समर्थन नहीं करता है psql
. के भीतर प्रतिस्थापन बैकस्लैश कमांड।
test=> \set somevar fred
test=> \copy z from :somevar
:somevar: No such file or directory
इसलिए आपको इसे यूनिक्स शेल जैसे बाहरी टूल के माध्यम से करने की आवश्यकता होगी। उदा.
for f in *.sql; do
psql -c "\\copy $(basename $f) FROM '$f'"
done