sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQL:FATAL-ユーザーのピア認証に失敗しました(PG ::ConnectionBad)

    「ピア認証」とは、UNIXソケットを使用しており、接続しているUNIXユーザーがpostgresqlユーザー名と同じUNIXユーザー名を持っていることを期待していることを意味します。

    ローカルのUNIXユーザー名はfunkdifiedであるため ユーザーgoodsoundsとして接続しようとしています UNIXドメインソケット(localpg_hba.confの接続 peerを指定します 認証、Pgは接続の試行を正しく拒否します。

    これは、UNIXソケットを使用する場合の多くのインストールのデフォルトの動作です。

    次のことができます:

    • データベース接続設定でホスト名を指定して、TCP/IP経由で接続します。
    • pg_hba.confを編集します md5を使用するには peerの代わりにパスワード認証 UNIXソケットの認証(local 接続タイプ)したがって、Pgはパスワード認証を受け入れます。または
    • unixユーザー名と同じPostgreSQLユーザー名で接続し、まだ存在しない場合はPostgreSQLでユーザーを作成します。

    pg_hba.confのドキュメントを参照してください およびドキュメントのクライアント認証の章の残りの部分。

    pg_hba.confへの変更に注意してください すぐに有効にしないでください。PostgreSQLを再起動するか、少なくとも再読み込みして、pg_hba.confを再読み取りする必要があります。 。

    また、複数のPostgreSQLバージョンがインストールされている場合は、あるバージョンのlibpqと別のバージョンのサーバーがある可能性があります。この場合、libpqがデフォルトで接続するUNIXソケットの場所が、サーバーのunix_socket_directoriesと同じであることを確認してください。 または、(例)host=/tmpで上書きします 接続文字列で。



    1. クエリ監視を実行しているSQLServer

    2. ORA-01031:ビューを選択する際の権限が不十分です

    3. DB内のすべての行を取得するにはどうすればよいですか?

    4. SQL Serverデータベース内のすべてのID列を一覧表示します:sys.identity_columns