\c と psql -U の使い方

別のロールで接続する

書き方

\c データベース ロール [ホスト] [ポート]
\! psql -h localhost -U ロール -d quest -c "SQL"
\! PGPASSWORD=パスワード psql -h ホスト -U ロール -c "SQL"
\! ssh app01 psql -h db01 -U ロール -c "SQL"

\c は今の psql の接続を新しい相手に替えます(省いたものや - は前の接続と同じ)。psql -c は 1 回だけ接続して SQL を実行します。どちらも pg_hba.conf の規則で許されて、パスワードなどの認証に通ったときだけ接続できます。パスワードが要るときは Password for user …: と聞かれます。このシミュレーターでは quest データベースにだけ接続できます。

例

\c quest clerk localhost
\! psql -h localhost -U clerk -c "SELECT current_user"

実際に打って練習する

PostgreSQL DBA コースの Lv3「ログインとパスワード」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

すべてのレベルが、プラチナ以上のプランで遊べます。

PostgreSQL の管理コマンド一覧(DBA)へ戻る