Как подключить Postgres к серверу localhost с помощью pgAdmin в Ubuntu?


104

Я установил Postgres с помощью этой команды

sudo apt-get install postgresql postgresql-client postgresql-contrib libpq-dev

Используя psql --versionна терминале, я получаюpsql (PostgreSQL) 9.3.4

затем я установил pgadminс

sudo apt-get install pgadmin3

Позже я открыл пользовательский интерфейс и создал сервер с этой информацией.

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

но эта ошибка появляется

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

как я могу это исправить?


загрузите postgresql v9.3 по этой ссылке https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows и снова запустите pgadmin III, вы получите уже установленный локальный хост, не нужно подключаться.
Дхавалкумар Праджапати

Ответы:


29

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


43
Если я это сделаю, появится эта ошибка Error connecting to the server: fe_sendauth: no password supplied
TuGordoBello

Здесь, в opensuse, пароль пользователя postgres не пустой, а не определен (восклицательный знак в / etc / shadow). Вход по паролю невозможен.
ул.

Просто протестировано для проверки, и да, Pg выдает password authentication failedдля пользователя, которого не существует при использовании md5auth.
Craig Ringer

1
как создать пользователя?
ahnbizcad

2
«Ошибка подключения к серверу: fe_sendauth: пароль не указан»
Керин

175

Измените пароль для роли postgres:

sudo -u postgres psql postgres

alter user postgres with password 'postgres';

Теперь подключитесь к pgadmin, используя имя пользователя postgres и пароль postgres.

Теперь вы можете создавать роли и базы данных с помощью pgAdmin

Как изменить пароль пользователя PostgreSQL?


10
или вы можете просто ... 'sudo -u postgres psql' и затем набрать '\ пароль'. нажмите Enter. Введите новый пароль.
Джей Моди

1
Это должен быть принятый ответ. Спасибо. Это очень помогло.
Pramesh Bajracharya

25

Это помогает мне:


1. Откройте файл pg_hba.conf

sudo nano /etc/postgresql/9.x/main/pg_hba.conf

и измените эту строку:

Database administrative login by Unix domain socket
local   all             postgres                                md5

к

Database administrative login by Unix domain socket
local   all             postgres                                trust
  1. Перезагрузите сервер

    перезапуск службы sudo postgresql

  2. Войдите в psql и установите пароль

    psql -U postgres

ALTER USER postgres with password 'new password';

  1. Снова откройте файл pg_hba.conf и измените эту строку:
Административный вход в базу данных через сокет домена Unix
    местные все доверяют postgres

к

    Административный вход в базу данных через сокет домена Unix
    местные все postgres md5
  1. Перезагрузите сервер

    перезапуск службы sudo postgresql


Оно работает.

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


Полезные ссылки
1: PostgreSQL (с сайта ubuntu.com)


Это решило мою проблему, но можете ли вы объяснить, почему в некоторых случаях требуется изменение логина администратора db на доверие до установки пароля postgres?
HostMyBus 01

@HostMyBus Привет, я вообще не припомню этого случая. Попробуйте найти ответы в сети (думаю, этому есть хорошее объяснение)
Артем Соловьев

@HostMyBus - это функция безопасности. Если установлено доверие, любой пользователь на машине может войти в базу данных.
Саймон Зикс

И вам это на самом деле не нужно: просто используйте ответ WiredIn
Саймон Зикс,

4

Сначала создайте пользователя. Вы должны сделать это как пользователь postgres. Поскольку системная учетная запись postgres не имеет назначенного пароля, вы можете либо сначала установить пароль, либо сделать следующее:

sudo /bin/bash
# you should be root now  
su postgres
# you are postgres now
createuser --interactive

и программа вам подскажет.


sudo -u postgres -iприведет к вопросу пароля. В моей системе нет пароля, который вы можете ввести. Мое предложение работает всегда (хм, надеюсь).
ул.

sudo -u postgress -iне приводит к вопросу пароля (по крайней мере, на моем Ubuntu после установки по умолчанию). Либо createuser --interactiveэто не приводит к
запросу

@ OndřejDoněk, мое предложение было сначала sudo / bin / bash, вы это сделали?
ул.

что вы должны ввести для роли?
ahnbizcad

$ createuser --interactive Введите имя добавляемой роли: postgres должна ли новая роль быть суперпользователем? (y / n)y
Elise Chant

2

Сначала вы должны изменить пароль с помощью терминала. (имя пользователя - postgres)

postgres = # \ пароль postgres

Затем вам будет предложено ввести пароль и подтвердить его.

Теперь вы сможете подключиться с помощью pgadmin с новым паролем.


0

если вы откроете psqlконсоль в окне терминала, набрав

$ psql

ваше имя суперпользователя будет показано перед =#, например:

elisechant=#$

Это будет имя пользователя, которое вы должны использовать для localhost.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.