---
title: "ALTER USER"
url: "https://docs.yugabyte.com/stable/api/ysql/the-sql-language/statements/dcl_alter_user/"
---

# ALTER USER

Use the ALTER USER statement to alter a role. ALTER USER is an alias for ALTER ROLE and is used to alter a role.

## Synopsis

Use the `ALTER USER` statement to alter a role. `ALTER USER` is an alias for [`ALTER ROLE`](/stable/api/ysql/the-sql-language/statements/dcl_alter_role "ALTER ROLE") and is used to alter a role.

## Syntax

- [![Grammar Icon](/icons/file-lines.svg)Grammar](#grammar-1)
- [![Diagram Icon](/icons/diagram.svg)Diagram](#diagram-1)

```output.ebnf
alter_user ::= ALTER USER role_specification 
               [ [ WITH ] alter_role_option [ , ... ] ]

alter_role_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 ' 

role_specification ::= role_name | CURRENT_USER | SESSION_USER

alter_user_rename ::= ALTER USER role_name RENAME TO new_role_name

alter_user_config ::= ALTER USER { role_specification | ALL } 
                      [ IN DATABASE database_name ] config_setting

config_setting ::= SET config_param { TO | = } 
                   { config_value | DEFAULT }
                   | SET config_param FROM CURRENT
                   | RESET config_param
                   | RESET ALL
```

#### alter\_user

ALTERUSER[role\_specification](#role-specification)WITH,[alter\_role\_option](#alter-role-option)

#### alter\_role\_option

SUPERUSERNOSUPERUSERCREATEDBNOCREATEDBCREATEROLENOCREATEROLEINHERITNOINHERITLOGINNOLOGINREPLICATIONNOREPLICATIONBYPASSRLSNOBYPASSRLSCONNECTIONLIMIT[connlimit](/stable/api/ysql/syntax_resources/grammar_diagrams#connlimit)ENCRYPTEDPASSWORD password PASSWORDNULLVALIDUNTIL timestamp

#### role\_specification

[role\_name](/stable/api/ysql/syntax_resources/grammar_diagrams#role-name)CURRENT\_USERSESSION\_USER

#### alter\_user\_rename

ALTERUSER[role\_name](/stable/api/ysql/syntax_resources/grammar_diagrams#role-name)RENAMETO[new\_role\_name](/stable/api/ysql/syntax_resources/grammar_diagrams#new-role-name)

#### alter\_user\_config

ALTERUSER[role\_specification](#role-specification)ALLINDATABASE[database\_name](/stable/api/ysql/syntax_resources/grammar_diagrams#database-name)[config\_setting](#config-setting)

#### config\_setting

SET[config\_param](/stable/api/ysql/syntax_resources/grammar_diagrams#config-param)TO=[config\_value](/stable/api/ysql/syntax_resources/grammar_diagrams#config-value)DEFAULTSET[config\_param](/stable/api/ysql/syntax_resources/grammar_diagrams#config-param)FROMCURRENTRESET[config\_param](/stable/api/ysql/syntax_resources/grammar_diagrams#config-param)RESETALL

See [`ALTER ROLE`](/stable/api/ysql/the-sql-language/statements/dcl_alter_role "ALTER ROLE") for more details.

## See also

- [CREATE ROLE](/stable/api/ysql/the-sql-language/statements/dcl_create_role "CREATE ROLE")
- [DROP ROLE](/stable/api/ysql/the-sql-language/statements/dcl_drop_role "DROP ROLE")
- [GRANT](/stable/api/ysql/the-sql-language/statements/dcl_grant "GRANT")
- [REVOKE](/stable/api/ysql/the-sql-language/statements/dcl_revoke "REVOKE")
