Как войти в систему и пройти аутентификацию в Postgresql после новой установки?
95307 просмотра
6 ответа
Сделал новую установку Postgres 8.4 на Mint Ubuntu. Как мне создать пользователя для postgres и войти в систему с помощью psql?
Когда я набираю psql, он просто говорит мне
psql: FATAL: Ident authentication failed for user "my-ubuntu-username"
Автор: user61734
Источник
Размещён: 12.11.2019 09:49
Ответы (6)
102 плюса
Есть два метода, которые вы можете использовать. Оба требуют создания пользователя и базы данных.
По умолчанию psql подключается к базе данных с тем же именем, что и пользователь. Таким образом, существует соглашение, чтобы сделать это «базой данных пользователя» . И нет никаких причин нарушать это соглашение, если вашему пользователю нужна только одна база данных. Мы будем использовать mydatabase
в качестве примера имя базы данных.
Используя createuser и createb , мы можем явно указать имя базы данных,
$ sudo -u postgres createuser -s $USER $ createdb mydatabase $ psql -d mydatabase
Вероятно, вам следует полностью опустить это и разрешить вместо всех команд указывать имя пользователя по умолчанию.
$ sudo -u postgres createuser -s $USER $ createdb $ psql
Использование команд администрирования SQL и соединение с паролем через TCP
$ sudo -u postgres psql postgres
И затем в оболочке PSQL
CREATE ROLE myuser LOGIN PASSWORD 'mypass'; CREATE DATABASE mydatabase WITH OWNER = myuser;
Тогда вы можете войти,
$ psql -h localhost -d mydatabase -U myuser -p <port>
Если вы не знаете порт, вы всегда можете получить его, выполнив от имени
postgres
пользователя следующую команду :SHOW port;
Или же,
$ grep "port =" /etc/postgresql/*/main/postgresql.conf
Sidenote: postgres
пользователь
Я предлагаю НЕ изменять postgres
пользователя.
- Обычно он заблокирован от ОС. Никто не должен «входить» в операционную систему как
postgres
. Вы должны иметь root для аутентификации какpostgres
. - Обычно он не защищен паролем и делегируется операционной системе хоста. Это хорошая вещь . Обычно это означает, что для входа в систему,
postgres
которая является эквивалентом PostgreSQL SQL ServerSA
, необходимо иметь доступ на запись к базовым файлам данных. И это означает, что вы все равно можете разрушить хаос. - Если этот параметр отключен, вы устраняете риск атаки методом грубой силы через именованного суперпользователя. Сокрытие и скрытие имени суперпользователя имеет свои преимущества.
36 плюса
по умолчанию вам нужно использовать пользователя postgres:
sudo -u postgres psql postgres
Автор: user262976
Размещён: 31.01.2010 05:25
16 плюса
Ошибка, которую вы получаете, заключается в том, что your-ubuntu-username не является действительным пользователем Postgres.
Вы должны указать psql, какое имя пользователя базы данных использовать
psql -U postgres
Вам также может понадобиться указать базу данных для подключения к
psql -U postgres -d <dbname>
Автор: cope360
Размещён: 31.01.2010 05:40
5 плюса
Вы также можете подключиться к базе данных как «обычный» пользователь (не postgres):
postgres=# \connect opensim Opensim_Tester localhost;
Password for user Opensim_Tester:
You are now connected to database "opensim" as user "Opensim_Tester" on host "localhost" at port "5432"
Автор: Dutch Glory
Размещён: 26.07.2014 08:40
3 плюса
Если ваш клиент базы данных соединяется с TCP / IP, и в вашем файле pg_hba.conf настроена аутентификация идентификатора, проверьте, что у вас установлен и работает идент. Это обязательно, даже если у вас есть только локальные клиенты, подключающиеся к «localhost».
Также имейте в виду, что в настоящее время для идентификации можно использовать IPv6, чтобы Postgresql мог принимать клиентов, подключающихся к локальному хосту.
Автор: toka Размещён: 08.04.2011 12:310 плюса
Основное различие между входом в систему с использованием пользователя postgres или любого другого созданного нами пользователя заключается в том, что при использовании пользователя postgres НЕ обязательно указывать хост с -h, а вместо этого для другого пользователя if.
Войти с пользователем postgres
$ psql -U postgres
Создание и вход с другим пользователем
# CREATE ROLE usertest LOGIN PASSWORD 'pwtest';
# CREATE DATABASE dbtest WITH OWNER = usertest;
# SHOW port;
# \q
$ psql -h localhost -d dbtest -U usertest -p 5432
GL
Автор: CORONEL Braian Размещён: 19.10.2019 05:03Вопросы из категории :
- postgresql Как выбрать n-ую строку в таблице базы данных SQL?
- postgresql Как конкатенировать строки поля строки в запросе PostgreSQL?
- postgresql Возможно ли выполнять кросс-запросы к базе данных с PostgreSQL?
- postgresql Хранение изображений в PostgreSQL
- postgresql Привилегии PostgreSQL 8.3 не обновлены - неправильное использование?
- authentication Окончательное руководство по аутентификации на основе форм
- authentication Контрольный список для проверки подлинности Windows IIS 6 / ASP.NET?
- authentication Как бы вы внедрили аутентификацию на основе FORM без резервной базы данных?
- authentication Какая хорошая альтернатива секретным вопросам?
- passwords Отключить функцию браузера «Сохранить пароль»
- passwords Генерация случайных паролей
- passwords Как сгенерировать случайную строку в Ruby
- passwords Нужно ли вводить максимальную длину для паролей?
- ident Как войти в систему и пройти аутентификацию в Postgresql после новой установки?
- ident Visual studio 2017 не выполняет отступ кода должным образом
- ident Как добавить непрерывный столбец «Идентификатор» в фрейм данных в Pyspark, а не как monotonically_increasing_id ()?
- ident Как сохранить результат HTML и PHP в одну строку
- ident Отступ под строкой