コマンドラインから変数を使う SQL を流す

-v, --set, --variableオプションを使います。その後key=valueの形で設定していきます。
設定した値は.sqlファイルの中で:key:を頭に付けて参照できます。

foo というスキーマに hoge テーブルを作る

fooは変数で渡す形で書くとこのような SQL になります。

create table :schema.hoge ();
-- CREATE TABLE

この内容が書かれている.sqlファイルは、schemaという変数を定義した上で実行されることを期待しています。そのように変数を実行し、かつ SQL を流すコマンドは以下です。

psql -v schema=foo < create-hoge.sql
# CREATE TABLE

ちゃんとできていればいい感じです。

psql -c '\dt foo.*'
#         List of relations
#  Schema | Name | Type  |  Owner
# --------+------+-------+----------
#  foo    | hoge | table | postgres
# (1 row)