2

postgresデータベースにアクセスしているときにエラーが発生しました

FATAL:  Peer authentication failed for user "myuser"

このエラーを解決するには、データベース所有者を次のように変更する必要があります

ALTER DATABASE dbname OWNER TO 'all';

all はシステム内のユーザーではありませんが、システム内のすべてのユーザーがこのデータベースを利用できるようにしたいと考えています。

このようなことを行う方法があると確信しています。誰でも私を助けることができます!

4

3 に答える 3

2

You need to read the Client Authentication section of the manual, particularly the part that discusses pg_hba.conf. PostgreSQL's manual and tutorials are fairly comprehensive and are well worth a read.

There are lots of questions on Stack Overflow, superuser.com, serverfault.com and dba.stackexchange.com that cover pg_hba.conf so I won't repeat what's already available in abundance.

Very short version:

  • Use md5 authentication; and
  • CREATE USER all the users you want to be able to log in or have them all log in as a shared identity.

Please read the manual sections on authentication and security to avoid future pain and problems.

于 2013-03-26T07:34:38.207 に答える
1

ファイルシステムで、次を使用してpg_hba.confファイルを見つけます

locate pg_hba.conf

次に、postgres のバージョンを見つけます。

を使用してファイルを編集します

sudo nano /etc/postgresql/9.1/main/pg_hba.conf

次の行がある場合:

local   all    all     peer

次に、次のように変更します。

local   all    all     md5

私はそれがうまくいくと確信しています!

于 2013-03-26T11:16:00.963 に答える
0

ピア認証とは、PostgreSQL が OS ユーザー に として接続すること、または OS ユーザーに として PostgreSQL に接続することのみを許可することをadmin意味adminmyuserますmyuser

これは、pg_hba.confこのようなファイルにエントリがあるためです

local   all    all    peer

これに置き換えると

local   all   all    trust

その後、PostgreSQL データベースをホストする同じ OS 上のすべてのユーザーが自由に接続できるようになります。

于 2013-03-26T11:13:06.423 に答える