set role ...
psqlを使用するときは、常に質問を最初に発行する必要があります。
対話型コマンドを受け入れる前にそれを自動化できますか?
たとえば、
psql -h HOST -U USER -c "set role 'ROLE';" -f -
これは、入力を直接読み取ること(readlineなし)を除いて、私が望むことをほとんど行います。
-U ROLE
その役割がログインを許可していないため、使用できません。
ベストアンサー1
-Xオプションが渡されない場合、psqlはデータベースに接続してから通常のコマンドを受け入れる前に、システム全体の起動ファイル(psqlrc)とユーザーの個人用起動ファイル(〜/ .psqlrc)からコマンドを読み込んで実行しようとします。
そして:
環境 PSQLRC ユーザー .psqlrc ファイルの代替場所です。チルダ(〜)拡張を実行します。
したがって、set-role.sqlファイルを作成できます。
set role 'ROLE';
その後実行
PSQLRC=set-role.sql psql -h HOST -U USER
psqlはsetコマンドを実行し、プロンプト(自動補完機能を含む)を表示します。