18

PostgreSQL をいじり始めたところです。私の目標は、postgres の外部に同じ権限を持つ新しいユーザーを作成し、ror アプリ用のデータベースを作成することです。postgres でログインできます。という名前のユーザーを作成しましたがJason、これは良いことですが、作成するsudo -u username psqlと次のエラーが表示されます...

sudo: unknown user: Jason
sudo: unable to initialize policy plugin

postgres コンソールで両方の \dg をチェックすることで、ユーザー名が存在することを確認できます。

                         List of roles
Role name |                   Attributes                   | Member of 
-----------+------------------------------------------------+-----------
Jason     | Superuser, Create role, Create DB, Replication | {}
postgres  | Superuser, Create role, Create DB, Replication | {}

この問題の原因は何ですか? また、ローカルを確認pg_hba.confしたところ、正しい設定であると思われるものがありました。

# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5
4

1 に答える 1

20

システムユーザーデータベースユーザーを混同しています。エラーメッセージはPostgreSQLからのsudoものであり、PostgreSQLとはまったく関係ありません。

データベースユーザーJasonとしてログインするには:

psql -U Jason

もちろん、パスワードなしのアクセスが設定されていない限り、パスワードを入力する必要があります。 ピア認証は、同じ名前のシステムユーザー(「ジェイソン」)に対してのみ機能します。詳細については、こちらと認証方法
についての優れたマニュアルをご覧くださいpsql

于 2012-10-22T02:46:05.697 に答える