30

同じホスト/データベース/ユーザー ルールに対して複数の認証方法を設定するにはどうすればよいですか? sudo -u postgres psql -U postgres(PostgreSQL パスワードを入力せずに) と の両方を使用して、postgres ユーザーにログインできるようにしたいですpsql -U postgres --password。pg_hba.conf の次のようなもの:

local   all             postgres                        md5
local   all             postgres                        peer

同時に動作するメソッドは 1 つだけです。

ありがとう。

(PostgreSQL 9.1 を使用しています)。

4

1 に答える 1

28

いいえ。特定の構成でサポートされる認証方法は 1 つだけです。

Pg がフォールバック認証をサポートできれば、私はそれが大好きです。ident チェックが失敗した場合、代わりに md5 認証が許可されます。ただし、現時点ではこれをサポートしていません。これをサポートするには、プロトコルの変更が必要になると思います (確認していません)。

できることは、パスワードをシステムユーザーのファイルに保存することです。モード 0600 を指定して、ユーザーとのみが読み取りできるようにします。どちらのユーザーもデータベース ファイルと構成に直接アクセスできます。そうすれば、管理md5 認証が簡単になります。一部のシステムでは、これを行う前に、ユーザーのホーム ディレクトリを設定および作成する必要があります。ユーザーにホームディレクトリがあるかどうか、ある場合はどこにあるかを確認します。$HOME/.pgpasspostgrespostgresrootpostgresgetent passwd postgrespostgres

更新:読み取りに使用されます$HOME/.psqlrc-これは便利ですが、.pgpassパスワードの保存に適しています)

于 2012-07-12T02:12:00.280 に答える