2

「databaseName」という名前のpostgresにpostgresデータベースを作成しました。これで、このdata2databaseにアクセスできます

 su - postgres

次に、パスワードを入力します

次に、psql databaseName からデータベースに入ります。

次の方法でこのデータベースのユーザーを作成しました。

   createuser -P userName1

今、データベースのユーザーがルートユーザーとしてデータベースにアクセスすることを望んでいません。ユーザーがpostgresにログインしようとすると

 su - postgres -u userName1 
        or through
 psql databaseName -u userName1

エラーが発生しました...ユーザーがrootユーザーにならずにpostgresとデータベースにアクセスする方法を教えてもらえますか?

4

1 に答える 1

7

UNIX ソケット経由の接続または(tcp) 接続経由の接続pg_hba.confを受け入れるように構成します。必要に応じて、代わりにパスワード認証を使用できます。peeridenthostmd5

デフォルトpsqlでは、ローカル OS ユーザー名と同じユーザー名で接続します。-Uこれは、フラグによってオーバーライドできます。たとえば、次のようになります。

psql -U myusername thedatabase

-Uそうではないことに注意してください-u(大文字です)。

これについては、すべて PostgreSQL のドキュメントで詳しく説明されています。見る:

ところで、コマンドを実行するのpostgresではなく、ユーザーとしてコマンドを実行suする場合は、次のように記述します。

sudo -u postgres psql
于 2013-03-04T13:01:44.177 に答える