Разница между CREATEROLE и ALTER ROLE при работе с ролями в PostgreSQL заключается в их функциях.
CREATEROLE — команда для создания роли, которая имеет разрешение на создание других ролей. 35 Роль с правом CREATEROLE может не только создавать, но и изменять и удалять другие роли, а также выдавать и отзывать членство в ролях. 34
ALTER ROLE — команда для изменения атрибутов существующих ролей. 12 С её помощью можно менять различные параметры ролей, такие как пароль, статус входа в систему и атрибуты ролей. 1
Таким образом, CREATEROLE отвечает за создание ролей, а ALTER ROLE — за их модификацию.