# ALTER USER

[DCL](dcl.md)-команда `ALTER USER` используется для изменения параметров существующего
пользователя.

## Синтаксис {: #syntax }

![ALTER USER](../../images/ebnf/alter_user.svg)

## Параметры {: #params }

* **USER** — имя пользователя. Соответствует правилам имен для всех [объектов](object.md)
  в кластере.

* **LOGIN** — разрешение на подключение к системе. Может применяться для
  снятия автоматической блокировки пользователя в связи с превышением
  максимального количества неудачных попыток аутентификации.

* **NOLOGIN** — запрет на подключение к системе.

* **PASSWORD** — пароль пользователя может использовать русские и английские буквы во всех
  регистрах, а так же цифры и основные знаки препинания из
  [таблицы ASCII](https://ru.wikipedia.org/wiki/ASCII#Структурные_свойства_таблицы).

* **CHAP-SHA1** — аутентификация пользователя с помощью `chap-sha1`.
  Требуется использовать пароль не короче 8 символов. Рекомендуется
  использовать этот метод только для [системных пользователей].

* **LDAP** — аутентификация пользователя с помощью [`ldap`](../../admin/ldap.md).

* **MD5** — аутентификация пользователя с помощью `md5` (используется по умолчанию).
  Требуется использовать пароль не короче 8 символов.

* **SCRAM-SHA256** — аутентификация пользователя с помощью `scram-sha256`.
  Требуется использовать пароль не короче 8 символов.

* **RENAME TO** — переименование пользователя.

[системных пользователей]: ../../admin/access_control.md#system_users

## Требуемые привилегии {: #required_privileges }

Данная команда требует привилегии `ALTER USER`.

См. также:

- [Управление доступом — Таблица привилегий](../../admin/access_control.md#privileges_table)

## Примеры {: #examples }

Изменение пароля и метода аутентификации:

```sql
ALTER USER andy WITH PASSWORD 'Str0ng_P@ssw0rd' USING chap-sha1
OPTION (TIMEOUT = 3.0);
```

Изменение метода аутентификации на `LDAP`:

```sql
ALTER USER andy PASSWORD USING ldap;
```

Блокировка пользователя:

```sql
ALTER USER andy WITH NOLOGIN;
```

Разблокировка пользователя (в том числе и автоматически заблокированного):

```sql
ALTER USER andy WITH LOGIN;
```

Переименование пользователя:

```sql
ALTER USER andy RENAME TO sid;
```
