установить пустой пароль для пользователя PostgreSQL - PullRequest
53 голосов
/ 24 марта 2011

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

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

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

Ответы [ 3 ]

61 голосов
/ 24 марта 2011

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

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

# 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

33 голосов
/ 24 марта 2011

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

9 голосов
/ 02 марта 2016

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

$ sudo -u postgres psql -w

# ALTER USER postgres WITH PASSWORD '';
...