Вам не удалось прочитать эту часть документации (это заняло у меня некоторое время):
--interactive
Запрашивать имя пользователя, если ни один не указан накомандной строки, а также запрашивает, какой из параметров -d
/ -D
, -r
/ -R
, -s
/ -S
не указан в командной строке.(Это было поведение по умолчанию до PostgreSQL 9.1.)
Вы не указали --interactive
, поэтому вам не предлагается.
В результате PostgreSQL выбирает пользователя по умолчанию: если не установлен PGUSER
, то есть пользователь вашей операционной системы.
Итак, предполагая, что вы пользователь операционной системы postgres
, вы фактически сделали следующее:
createuser -U postgres postgres
, чтоконечно глупо и привело бы к
createuser: creation of new role failed: ERROR: role "postgres" already exists
, если бы вы не скушались и не прервали казнь.