PostgreSQL 13にロールのパスワードの有効期限を設定する方法

環境
Windows 10 64bit
PostgreSQL 13.2
書式
CREATE ROLE ロール名
WITH LOGIN PASSWORD 'パスワード’ VALID UNTIL 'timestamp’
操作例
1.ロールを作成します
postgres=# create role testuser with login password '123@’;
CREATE ROLE

2.作成したロールで PostgreSQL へ接続を行います

>psql -U testuser -d postgres
ユーザ testuser のパスワード:
psql (13.2)
"help"でヘルプを表示します。

postgres=>

3.現在作成済みの testuser ロールの有効期限を ’2020-11-22 11:11:11′ に設定します
操作例
postgres=# alter role testuser with valid until '2020-11-22 11:11:11’;
ALTER ROLE

4.パスワードの有効期限を確認します

postgres=# \du testuser
                              ロール一覧
 ロール名 |                    属性                     | 所属グループ
----------+---------------------------------------------+--------------
 testuser | パスワードの有効期限 2020-11-22 11:11:11+09 | {}

5.パスワードが無効になる状態でPostgreSQL接続を行います
>psql -U testuser -d postgres
ユーザ testuser のパスワード:
psql: エラー: FATAL: ユーザ"testuser"のパスワード認証に失敗しました

PostgreSQL

Posted by arkgame