web-dev-qa-db-ja.com

PostgreSQLユーザーに空のパスワードを設定します

Postgresqlコマンド「createuser myusername」を使用します。常にパスワードの入力を求められます。パスワードを空白のままにすると、パスワードが指定されていないというエラーが表示されます。

パスワードを空白/なしで作成したいだけで、mac os xでPostgresql 9を使用して作成することはできません。

パスワードなしでユーザーを作成するには、どのような手順を実行する必要がありますか。このコマンドは常にパスワードの入力を要求します。

55
othman

createuserでこれを修正しようとして間違ったツリーをbarえています。 mancreateuserページを確認したい場合、本当にパスワードが必要で--no-passwordを設定するとログインが失敗することがわかります。 createuserは実際にはユーザーを作成するだけです。 notユーザーの認証方法を決定します。

認証は主にpg_hba.confで処理され、ログイン時にパスワードを要求するかどうかを決定します。 OS XでPostgreSQLを実行したことはありません。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

開発アクセスの最初の行のようなものがあることを確認します。注:--Hostオプションが設定されていない場合、psqlはUNIXソケットに接続しようとします。 psql --Host localhostで接続しようとすると、2行目が使用されます

61
nate c

パスワードなしでユーザーを作成するのではなく、パスワードを入力して 。pgpass file を作成し、自動的に提供されます。これは、接続にlibpqを使用するすべてのアプリケーションで尊重されます。これは、JDBCドライバーと.NETドライバーを除く実質的にすべてのアプリケーションです。

34
araqnid

PGユーザーのユーザーのパスワードを変更する(私が好む)追加の方法は、postgresコンソールに(ローカルPC上のpostgresユーザーとして)ログインし、SQLリクエストを発行することです:

$ Sudo -u postgres psql -w

# ALTER USER postgres WITH PASSWORD '';