Подтвердить что ты не робот

Установить пустой пароль для пользователя PostgreSQL

Я использую команду postgresql 'createuser myusername'. Он всегда запрашивает пароль. Если я оставляю пароль пустым, он сообщает об ошибке, что пароль не указан.

Я просто хочу создать пользователя с пустым/без пароля, и я не могу это сделать с Postgresql 9 под mac os x.

Какие шаги следует предпринять для создания пользователя без пароля. Команда всегда просит меня ввести пароль.

4b9b3361

Ответ 1

Вы лаяете неправильное дерево, пытаясь исправить это с помощью createuser. Если вы хотите проверить страницу man для createuser, она сообщит вам, что логин завершится неудачно, если вам действительно нужен пароль и установите --no-password. createuser фактически просто создает пользователя. Он не решает, как пользователь должен будет аутентифицироваться.

Аутентификация обрабатывается в основном в pg_hba.conf, которая решает, нужно ли требовать пароли при входе в систему. Я никогда не запускал PostgreSQL для OS X. В Linux мой дистрибутив conf выглядит следующим образом:

# TYPE  DATABASE        USER            CIDR-ADDRESS            METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     ident
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

Я бы удостоверился, что у вас есть что-то вроде первой строки для доступа к развитию. Примечание: psql будет пытаться подключиться с помощью unix-сокета, если нет опции --host. Вторая строка будет использоваться, если вы попытаетесь соединиться с psql --host localhost

Ответ 2

Вместо того, чтобы создавать пользователя без пароля, создайте .pgpass файл с паролем, чтобы он автоматически предоставлялся. Это будет соблюдаться всеми приложениями, использующими libpq для подключения, и это практически все из них, кроме драйвера JDBC и драйвера .NET.

Ответ 3

Дополнительный способ (я предпочитаю это) изменить пароль пользователя для пользователя PG - войти в консоль postgres (как пользователь postgres на локальном ПК) и выполнить запрос SQL:

$ sudo -u postgres psql -w

# ALTER USER postgres WITH PASSWORD '';

Ответ 4

postgres=# ALTER USER postgres WITH PASSWORD '';
NOTICE:  empty string is not a valid password, clearing password
ALTER ROLE
postgres=#