Как решить эту проблему, чтобы использовать psql? | psql: ошибка: FATAL: роль "postgres" не существует

У меня проблемы с использованием PostgreSQL. Недавно я установил эту версию (13+223.pgdg20.04+1) пакета postgresql в Ubuntu 20.04.

Я пытаюсь запустить команду psql, но получаю следующую ошибку:

psql: ошибка: FATAL: роль "my_username" не существует

Я попытался создать нового пользователя с помощью createuser me, но получаю следующую ошибку:

createuser: ошибка: не удалось подключиться к базе данных template1: FATAL: роль «my_username» не существует

Я также пытался заставить пользователя postgres использовать createuser me --username=postgres, но получаю следующую ошибку:

createuser: ошибка: не удалось подключиться к базе данных template1: FATAL: Ошибка одноранговой аутентификации для пользователя «postgres»

Как мне решить эти проблемы, чтобы использовать PostgreSQL локально на моем компьютере без этих проблем?

PD: Я переустановил postgres и теперь получаю другую ошибку при выполнении psql:

psql: ошибка: не удалось подключиться к серверу: нет такого файла или каталога Сервер работает локально и принимает соединения в сокете домена Unix "/var/run/postgresql/.s.PGSQL.5432"?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
8
0
12 958
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Вам нужно указать имя пользователя в команде psql, используя опцию -U.

psql -U postgres

Postgresql поставляется с предопределенной ролью суперпользователя под названием postgres. Если вы хотите создать больше ролей, вам сначала нужно подключиться в качестве этой начальной роли.

Это не сработало, но я переустановил postgre (у меня было 2 версии, я удалил обе и установил последнюю версию), и теперь команда «psql» показывает другую ошибку: psql: ошибка: не удалось подключиться к серверу: Нет такой файл или каталог Сервер работает локально и принимает соединения через сокет домена Unix "/var/run/postgresql/.s.PGSQL.5432"?

DonLarry 09.12.2020 21:21

Одноранговая аутентификация означает (есть расширенные возможности, но они не будут использоваться по умолчанию, в то время как простой метод используется по умолчанию для apt-установленного PostgreSQL), что вы должны быть пользователем ОС «postgres», чтобы подключиться как пользователь базы данных «постгрес». Итак, вы бы сделали:

sudo -u postgres createuser me

Вам не нужно указывать --username=postgres, так как это поведение по умолчанию в любом случае, когда вы используете sudo -u postgres

Кроме того, вы можете изменить свой pg_hba.conf, чтобы использовать другой метод аутентификации, отличный от однорангового, если хотите.

Ответ принят как подходящий

Я не уверен, почему у меня была плохая установка, но я полностью удалил postgres после этого поста:

https://kb.objectrocket.com/postgresql/how-to-completely-uninstall-postgresql-757

после этого я перезагрузил свой компьютер и снова установил posgres, следуя инструкциям в:

https://www.postgresql.org/download/linux/ubuntu/

и теперь вроде работает без проблем

первая проверка пользователя postgres существует:

$ идентификатор постгреса

Затем:

$su — постгрес

Пароль:

$ psql psql (15.1 (Debian 15.1-1.pgdg110+1)) Введите "помощь" для помощи.

Если пароль для пользователя postgres неизвестен, измените его: $su — постгрес

Пароль: su: Ошибка аутентификации

$ sudo пароль postgres

Новый пароль:

Введите повторно новый пароль:

passwd: пароль успешно обновлен

Наконец снова:

$su — постгрес

Пароль:

$ psql

psql (15.1 (Debian 15.1-1.pgdg110+1)) Введите "помощь" для помощи.

Другие вопросы по теме