↑↓ select ↵ open ⌫ change scope Open full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

SQL Commands / Roles & Privileges

change a database role

Reading PG 18current·documented in 30 of 30 versions, 6.4 to 20

Syntax

ALTER USER role_specification [ WITH ] option [ ... ]

where option can be:

SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| REPLICATION | NOREPLICATION
| BYPASSRLS | NOBYPASSRLS
| CONNECTION LIMIT connlimit
| [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
| VALID UNTIL 'timestamp'

ALTER USER name RENAME TO new_name

ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] SET configuration_parameter { TO | = } { value | DEFAULT }
ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] SET configuration_parameter FROM CURRENT
ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] RESET configuration_parameter
ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] RESET ALL

where role_specification can be:
role_name
| CURRENT_ROLE
| CURRENT_USER
| SESSION_USER
Syntax diagrams

Read left to right. Branches are choices, bypasses are optional, loops repeat. Select an underlined parameter to open its rule.

ALTER USER role_specification WITH option
option
SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS CONNECTION LIMIT connlimit ENCRYPTED PASSWORD ' password ' PASSWORD NULL VALID UNTIL ' timestamp '
ALTER USER · Syntax 2
ALTER USER name RENAME TO new_name
ALTER USER · Syntax 3
ALTER USER role_specification ALL IN DATABASE database_name SET configuration_parameter TO = value DEFAULT
ALTER USER · Syntax 4
ALTER USER role_specification ALL IN DATABASE database_name SET configuration_parameter FROM CURRENT
ALTER USER · Syntax 5
ALTER USER role_specification ALL IN DATABASE database_name RESET configuration_parameter
ALTER USER · Syntax 6
ALTER USER role_specification ALL IN DATABASE database_name RESET ALL
role_specification
role_name CURRENT_ROLE CURRENT_USER SESSION_USER

Description

ALTER USER is now an alias for ALTER ROLE.

Compatibility

The ALTER USER statement is a PostgreSQL extension. The SQL standard leaves the definition of users to the implementation.

See Also

ALTER ROLE
Version history 19
  1. 13 → 14 changed
  2. 10 → 11 changed
  3. 9.6 → 10 changed
  4. 9.5 → 9.6 changed
  5. 9.4 → 9.5 changed
  6. 9.2 → 9.3 changed
  7. 9.1 → 9.2 changed
  8. 9.0 → 9.1 changed
  9. 8.4 → 9.0 changed
  10. 8.2 → 8.3 changed
  11. 8.1 → 8.2 changed
  12. 8.0 → 8.1 changed
  13. 7.4 → 8.0 changed
  14. 7.3 → 7.4 changed
  15. 7.2 → 7.3 changed
  16. 7.1 → 7.2 changed
  17. 7.0 → 7.1 changed
  18. 6.5 → 7.0 changed
  19. 6.4 → 6.5 changed

Related entries

Definition snapshot: b7bd9cda · English manual source