основная роль postgres не postgres, как я могу настроить ее на postgress

#postgresql

#postgresql

Вопрос:

В терминале, когда я пишу psql, он входит в систему «Coyr». Я хочу, чтобы «postgres» был основным пользователем и имел все атрибуты. Как я могу это сделать?

введите описание изображения здесь

Комментарии:

1. Роль postgres является суперпользователем, поэтому у нее есть все права. Не уверен, чего еще вы хотите и почему?

2. sudo касается изменения пользователя вашей ОС, а не пользователя PostgreSQL.

3. Какая ОС и версия? Как вы установили Postgres? Вы видите postgres, когда делаете ls /home/ ?

4. ОС — macOS Catalina версии 10.15.7. Я установил Postgres с помощью brew. Когда я это делаю ls /home/ , он продолжает показывать фактическую папку, в которой я нахожусь

5. @wildplasser. Homebrew не является мертвым мозгом, нет требования, чтобы владельцем суперпользователя / кластера был postgres. Согласно документации initdb ‘На самом деле не важно, каково имя суперпользователя, но можно сохранить обычное имя postgres …’. Homebrew выбирает запуск от имени пользователя, устанавливающего, вот и все. К вашему сведению, разработчики создают свои собственные Postgres из исходного кода и тестируют на ферме сборки, которые охватывают все поддерживаемые варианты ОС.

Ответ №1:

Я предполагаю, что вы запускались initdb как пользователь coyr без этой -U опции, и теперь вы хотите переименовать суперпользователя начальной загрузки.

Это просто:

  • удалите postgres созданного вами пользователя
  • создайте нового суперпользователя maxi
  • подключитесь как maxi и запустите
     ALTER ROLE coyr RENAME TO postgres;
     
  • подключитесь как postgres и
     DROP ROLE maxi;
     

При переименовании coyr будет потерян пароль, поэтому, если он вам нужен, вам придется установить его снова.

Комментарии:

1. Спасибо, Лоренц, это имеет смысл. Я обнаружил, что обычно в некоторых репозиториях люди используют «postgres» в качестве имени пользователя. Какова наилучшая практика?. У вас есть какая-нибудь ссылка на конфигурацию Postgres в Mac?

2. Да, это неофициальный стандарт вызова суперпользователя начальной postgres загрузки, поэтому я бы назвал это «лучшей практикой».