---
name: "ALTER_USER"
section: "7"
platform: "linux"
package: "postgresql"
version: "18.6-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/ALTER_USER"
---

# ALTER\_USER(7)

change a database role

## NAME

ALTER\_USER - change a database role

## SYNOPSIS

```
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
```

## 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 ([**ALTER\_ROLE**(7)](/ALTER_ROLE/7.md))
