68

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

私は単純に空白/パスワードなしでユーザーを作成したいのですが、Mac OS X の Postgresql 9 では作成できません。

パスワードなしでユーザーを作成するには、どのような手順を実行すればよいですか? このコマンドは常にパスワードの入力を求めます。

4

4 に答える 4

72

これを修正してcreateuserもうまくいきません。のmanページにcreateuserよると、本当にパスワードと設定が必要な場合、ログインは失敗します--no-passwordcreateuserユーザーを作成するだけです。ユーザーがどのように認証する必要があるかは決定されません。

認証は主に で処理され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

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

于 2011-03-24T18:51:19.467 に答える
39

使用する.pgpass

パスワードなしでユーザーを作成する代わりに、パスワードを含む.pgpass ファイルを作成してパスワードを自動的に提供することもできます。これは、libpq を使用して接続するすべてのアプリケーション (JDBC ドライバーと .NET ドライバーを除く実質的にすべてのアプリケーション) によって尊重されます。

以下は.pgpass、ユーザー「foobar」とパスワード「password」のサンプル ファイルを、適切なファイル アクセス許可で作成する方法です。

echo 'localhost:*:*:foobar:password' >> ~/.pgpass
chmod 600 ~/.pgpass
于 2011-03-24T18:36:47.283 に答える