更新: この特定の問題は、psql に含まれるスクリプトとは関係ありません。含まれているスクリプトの変数は、期待どおりに補間されます。実際の問題は、SQL 関数定義の $$ 引用符内で psql 変数を使用した場合に発生し、この質問で説明されています。
psql 変数を使用して、かなり長い SQL スクリプトでコマンド ラインからいくつかのパラメーター (テーブル名、値) を設定しています。スクリプトが長くなりすぎたので、いくつかの部分に分割し、\ir subscript.sql
構文を使用してメイン スクリプトに含めました。ただし、メイン スクリプトの変数はサブスクリプトに渡されません。\i file
ドキュメントには、キーボードでファイルを入力するのと同じこと、つまりスクリプト環境を維持する必要があると記載されている ため、これは奇妙です。
psqlに含まれるスクリプトに変数を渡す簡単な方法はありますか?
psql バージョン 9.3.1 を使用しています。