После входа в оболочку под пользователем `postgres`, можно создать новую роль с помощью следующей команды:
```sh
createuser --interactive
```
При создании необходимо будет ввести имя новой роли и указать, будет ли являться новая роль суперпользователем:
```sh
Enter name of role to add: user
Shall the new role be a superuser? (y/n) y
```
Для любой роли, используемой для входа, существует база данных с тем же именем, к которой роль может получить доступ. Это означает, что если созданный пользователь будет иметь имя `user`, эта роль попытается подключиться к базе данных, которая также называется `"user"` по умолчанию. Необходимо создать соответствующую базу данных:
```sh
createdb user
```
При этом должен существовать пользователь Linux с тем же именем, что и имя роли и базы данных в Postgres.
При подключении к удалённой БД может возникнуть ошибка:
```sh
FATAL: no pg_hba.conf entry for host "192.168.56.1", user "user", database "user", SSL encryption
```
где `192.168.56.1` - адрес компьютера, с которого происходит подключение, `user` - имя пользователя, от которого происходит подключение, а также имя базы данных.
Необходимо отредактировать файл `/etc/postgresql/14/main/pg_hba.conf`, где 14 - версия PostgreSQL:
```sh
sudo nano /etc/postgresql/14/main/pg_hba.conf
```
и добавить запись:
```sh
host all user 192.168.56.1/32 scram-sha-256
```
которая разрешает доступ логина `user` к любой базе данных с IP-адреса `192.168.56.1`.