#linux #postgresql
Я установил PostgresSQL на linux и когда я пытаюсь войти то получаю: $ psql postgres psql: FATAL: role "pavel" does not exist На MacOS у меня была отдельная консоль для postgres которая устанавливалась по умолчанию вместе с базой. Для linux нет такой возможности? Почему мне не предлагается выбрать роль? Как мне войти в базу?
Ответы
Ответ 1
$ psql postgres Означает, что вы хотите авторизоваться с настройками по-умолчанию в базу postgres. Не пользователем postgres, а в базу данных под названием postgres. Пользователь указывается явно ключом -U либо записывается в переменной окружения PGUSER либо используется тот, от имени которого открыта консоль. Очевидно pavel - это имя вашей учётной записи. Поэтому при работе от пользователя postgres в базу postgres зайти можно (это не значит что всегда можно будет зайти, можно настроить что и нельзя будет). psql -U postgres postgres Так же на настройках по-умолчанию используется unix-сокет и авторизация peer в pg_hba.conf. Т.е. проверяется, что пользователь, от имени которого работает консоль совпадает с именем пользователя в базе. Т.е. указанная выше команда не сработает и выдаст ошибку peer-аутентификации. Понадобится править pg_hba.conf, например, для использования md5 авторизации - с использование пароля. Если вы хотите часто заходить в консоль суперпользователем, то проще завести пользователя совпадающего с именем в консоли, нежели указывать постоянно пользователя и базу create user pavel with superuser login password 'пароль'; create database pavel owner pavel; После вы сможете заходить просто набрав psql Если же вам не нужна постоянно административная консоль (а зачем она может быть постоянно нужна, если только вы не ДБА?), то уберите superuser из создания пользователя. Для редких административных задач вполне достаточно способа авторизации через sudo -u postgres psql postgresОтвет 2
Вам нужно восстановить пароль на user postgres. Для этого в коммандной строке наберите: sudo -u postgres psql postgres Потом \password postgres И присвоиваете пароль. После этого выходите: \q Подробно смотрите здесь
Комментариев нет:
Отправить комментарий