Как я вхожу в систему и прохожу проверку подлинности к Postgresql после новой установки?

Сделал новую установку пост-ГРЭС 8.4 на человечности монетного двора. Как я создаю пользователя для пост-ГРЭС и входа в систему с помощью psql?

Когда я ввожу psql, он просто говорит мне

psql: FATAL: Ident authentication failed for user "my-ubuntu-username"
63
задан Evan Carroll 26 April 2017 в 19:24
поделиться

3 ответа

Вы можете использовать два метода. Оба требуют создания базы данных пользователя и .

По умолчанию psql подключается к базе данных с тем же именем, что и пользователь. Таким образом, существует соглашение, согласно которому «база данных пользователя» . И нет причин нарушать это соглашение, если вашему пользователю нужна только одна база данных. Мы будем использовать mydatabase в качестве примера имени базы данных.

  1. Используя createuser и createdb , мы можем явно указать имя базы данных,

     $ sudo -u postgres createuser -s $ USER 
     $ createdb mydatabase 
     $ psql -d mydatabase 
     

    Вам, вероятно, следует полностью опустить это и вместо этого позволить всем командам по умолчанию использовать имя пользователя.

     $ sudo -u postgres createuser -s $ USER 
     $ createdb 
     $ psql 
     
  2. Использование команд администрирования SQL и соединение с паролем по TCP

     $ sudo -u postgres psql postgres 
     

    И затем в оболочке psql

     СОЗДАТЬ РОЛЬ myuser ПАРОЛЬ ВХОДА 'mypass'; 
    СОЗДАТЬ БАЗУ ДАННЫХ mydatabase С ВЛАДЕЛЬЦЕМ = myuser; {{ 1}} 

    Затем вы можете войти в систему,

     $ psql -h localhost -d mydatabase -U myuser -p  
     

    Если вы не знаете порт, вы всегда можете получить его, запустив от имени пользователя postgres ,

     SHOW порт; 
     

    Или

     $ grep "port =" / etc / postgresql / * / основной / postgresql.conf 
     

Примечание: пользователь postgres

Я предлагаю НЕ изменять пользователя postgres .

  1. Обычно блокируется из ОС. Никто не должен «входить» в операционную систему как postgres . У вас должен быть root для аутентификации как postgres .
  2. Обычно он не защищен паролем и делегируется операционной системе хоста. Это хорошая вещь . Обычно это означает, что для входа в систему как postgres , который является эквивалентом PostgreSQL для SQL Server SA , у вас должен быть доступ для записи к файлам данных. А это означает, что вы в любом случае можете нанести серьезный ущерб.
  3. Оставляя это отключенным, вы устраняете риск атаки методом перебора через именованного суперпользователя. Сокрытие и сокрытие имени суперпользователя имеет свои преимущества.
102
ответ дан 24 November 2019 в 16:10
поделиться

Ошибка Ваша получается, потому что Your-Ubuntu-username не является действительным пользователем Postgres.

Вы должны сказать PSQL, какую базу данных имени пользователя использовать

psql -U postgres

Вам также может понадобиться указать базу данных для подключения к

psql -U postgres -d <dbname>
17
ответ дан 24 November 2019 в 16:10
поделиться

По умолчанию вам нужно будет использовать пользователь Postgres:

sudo -u postgres psql postgres
37
ответ дан 24 November 2019 в 16:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: