Open1
【PostgreSQL】CREATE ROLEとCREATE USERとの違い

PostgreSQL16系であることが前提。
CREATE ROLEとCREATE USERとには以下の違いがある。
- CREATE ROLE: デフォルトでLOGINオプションが無効
- CREATE USER: デフォルトでLOGINオプションが有効
どちらを使うのが望ましいかと言うと、CREATE ROLEを使うことが望ましい。
理由は最小権限の原則と、PostgreSQLの文書で「CREATE USERはCREATE ROLEの別名である」と明記されているためである。
CREATE ROLEの方が後発で、PostgreSQL8.1で追加された。8.1前後のドキュメントを見比べるとわかりやすい。