Основное отличие команд CREATE USER и CREATE ROLE в PostgreSQL заключается в том, для создания каких ролей они используются. 12
CREATE ROLE обычно применяют, когда нужно создать роль без возможности входа в систему. 1 Такая роль не сможет подключаться к серверу PostgreSQL и выполнять операции в базе данных (добавлять, изменять и удалять данные). 1 Например, с помощью CREATE ROLE создают пользователя с правами только для чтения. 1
CREATE USER, в свою очередь, используется для создания роли с возможностью входа в систему. 1 Такой пользователь сможет подключаться к серверу PostgreSQL и выполнять различные операции в базе данных. 1
Таким образом, команда CREATE USER фактически синонимична команде CREATE ROLE с опцией LOGIN. 1