По умолчанию аутентификация пользователя базы данных postgres, подключающегося к БД локально, заключается в проверке того, что пользователь операционной системы также является postgres. Это то, что в сообщении об ошибке упоминается как идентификация Ident, и именно поэтому соединение после выполнения sudo -u postgres
работает.
Чтобы подключиться как пользователь postgres, используя другое средство аутентификации, вам нужно отредактировать файл pg_hba.conf. (HBA означает аутентификацию на основе хоста).
Строка, которая позволяет это, будет выглядеть следующим образом:
local all postgres peer
Добавьте строку, которая выглядит следующим образом (без удаления другой строки!):
local all postgres md5
И вы также сможете подключиться, используя пароль для postgres.
Если я правильно помню, вам нужно будет перезапустить БД, чтобы это вступило в силу.