ロールを使用してpsqlを実行する

ロールを使用してpsqlを実行する

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コマンドを実行し、プロンプト(自動補完機能を含む)を表示します。

おすすめ記事