Назад | Перейти на главную страницу

Идентификация с помощью pgAdmin III

Есть ли способ заставить pgadmin выполнять идентификацию для локальных пользователей? Было бы неплохо не устанавливать пароль для моего локального пользователя на машине разработки и просто иметь возможность использовать psql и pgadmin3 без пароля.

Pgadmin просто передает имя пользователя, которое вы ему предоставляете, на сервер, если он запрашивает у вас пароль, это потому, что сервер сообщает ему, что для вашего метода подключения требуется пароль. Если машина разработки является системой Unix, оставьте поле «Host:» пустым, чтобы pgadmin подключался с использованием локального сокета Unix, а не TCP.

Сервер postgresql pg_hba.conf контролирует, как идентифицируются пользователи и когда они должны предоставить пароль. Большинство файлов pg_hba.conf по умолчанию имеют следующую строку:

local   all         all                       ident sameuser

Это означает, что «локальные» подключения ко «всем» базам данных со стороны «всех» пользователей используют метод проверки подлинности «ident sameuser», то есть до тех пор, пока имя пользователя, с которым вы пытаетесь подключиться, совпадает с именем пользователя, с которым вы вошли в систему с , он примет соединение без пароля. Если вы хотите иметь возможность входить в систему с любым именем пользователя без пароля, вы можете изменить «identity sameuser» на «trust».

Если имена пользователей вашей системы не совпадают с именами пользователей базы данных, postgresql имеет отдельный файл с именем pg_ident.conf, в котором перечислены имя пользователя системы и соответствующее имя пользователя базы данных, а также имя для этой карты. Создайте записи для своего разработчика (-ов) и замените «sameuser» в pg_hba.conf именем карты.