ALTER USER name [ [ WITH ] option [ ... ] ] ここで option は以下のとおりです。 [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | CREATEDB | NOCREATEDB | CREATEUSER | NOCREATEUSER | VALID UNTIL 'abstime' ALTER USER name RENAME TO newname ALTER USER name SET parameter { TO | = } { value | DEFAULT } ALTER USER name RESET parameter
ALTER USER を使用すると、PostgreSQL ユーザアカウントの属性を変更できます。 このコマンドで指定されなかった属性は、以前の設定のまま残ります。
概要で示されているこのコマンドの最初の構文により、特定のグローバルユーザ権限および認証設定が変更されます。 (詳細は下記を参照してください。) データベーススーパーユーザのみがこのコマンドで権限とパスワード有効期限を変更することができます。 一般ユーザは自分自身のパスワードのみを変えることができます。
2番目の構文は、ユーザ名を変更します。 データベーススーパーユーザのみがユーザアカウントの名前を変更できます。 そのセッションのユーザの名前を変更することはできません。 (必要な場合は異なるユーザで接続してください。)
3 番目および 4 番目の構文により、ユーザのセッションのデフォルト値を、指定した設定変数に変更できます。 このコマンドの後に新しいセッションを開始すると、指定された値がそのセッションのデフォルト値となり、postgresql.conf ファイルに記述されている設定や、postmaster から受け取った設定は上書きされます。 一般ユーザは、自分自身のセッションのデフォルト値を変更できます。 スーパーユーザは、すべてのユーザのセッションのデフォルト値を変更できます。
属性が変更されるユーザの名前です。
このアカウントに使われる新しいパスワードです。
これらのキーワードを使用すると、パスワードを暗号化して pg_shadow に格納するかどうかを制御できます。 (このキーワードの選択に関する詳細については、CREATE USER を参照してください。)
この句はユーザのデータベースの作成に関する権限を定義します。 CREATEDB が指定された場合、そのユーザは、自分が所有するデータベースを作成できます。 NOCREATEDB を指定した場合、作成されるユーザにはデータベースを作成する権限が与えられません。
この句は、ユーザが自分で新しいユーザを作成できるかどうかを決定します。 またこのオプションにより、そのユーザは全てのアクセス制限を上書きできるスーパーユーザになります。
ユーザのパスワードの期限が切れる日付(そしてオプションで時刻)です。 パスワードの有効期限を無効にするには、'infinity'を使用してください。
ユーザの新しい名前です。
指定された設定パラメータにおけるこのユーザのセッションのデフォルトを、この値に設定します。 value が DEFAULT であるか、または RESET が使用されている場合、ユーザが指定した変数の設定は無効になり、ユーザは、新しいセッションではシステム全体のデフォルト設定を継承します。 すべての設定をクリアするには、RESET ALL を使用してください。
新しいユーザの追加には CREATE USER を、ユーザの削除には DROP USER を使用して下さい。
ALTER USER ではユーザグループのメンバ構成を変更することはできません。 そのためには ALTER GROUP を使用して下さい。
ALTER DATABASE を使用すると、ユーザではなく指定したデータベースにセッションのデフォルト値を関連付けることもできます。
ユーザのパスワードを変更します。
ALTER USER davide WITH PASSWORD 'hu8jmn3';
ユーザの有効期限を変更します。
ALTER USER manuel VALID UNTIL 'Jan 31 2030';
ユーザの権限が UTC から 1 時間進んだタイムゾーンの 2005 年 5 月 4 日の正午に無効になると指定することにより、ユーザの有効期限を変更します。
ALTER USER chris VALID UNTIL 'May 4 12:00:00 2005 +1';
ユーザの有効期限を永久にします。
ALTER USER fred VALID UNTIL 'infinity';
ユーザに、他のユーザと新しいデータベースを作成する権限を与えます。
ALTER USER miriam CREATEUSER CREATEDB;