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

エラーの取得:pgsqlをrailsで動作させようとすると、ユーザーpostgresのピア認証が失敗しました

    問題はまだあなたのpg_hba.confです ファイル*。

    この行:

    local   all             postgres                                peer
    

    あるべき:

    local   all             postgres                                md5
    

    *このファイルの場所はあまり一貫していません。コマンドlocate pg_hba.conf 役立つはずです。次にいくつかの例を示します:/etc/postgresql/*/main/pg_hba.conf および/var/lib/pgsql/data/pg_hba.conf

    このファイルを変更した後は、PostgreSQLサーバーを再起動することを忘れないでください。 Linuxを使用している場合は、sudo service postgresql restartになります。 。

    これらは、認証方法に関するPostgreSQLの公式ドキュメントによる両方のオプションの簡単な説明です。

    ピア認証

    ピア認証方式は、カーネルからクライアントのオペレーティングシステムユーザー名を取得し、それを許可されたデータベースユーザー名として使用することで機能します(オプションのユーザー名マッピングを使用)。この方法は、ローカル接続でのみサポートされています。

    パスワード認証

    パスワードベースの認証方法は、md5とpasswordです。これらの方法は、パスワードが接続を介して送信される方法、つまり、それぞれMD5ハッシュとクリアテキストを除いて同様に機能します。

    パスワードの「盗聴」攻撃がまったく心配な場合は、md5をお勧めします。可能であれば、プレーンパスワードは常に避ける必要があります。ただし、md5をdb_user_namespace機能と一緒に使用することはできません。接続がSSL暗号化によって保護されている場合は、パスワードを安全に使用できます(ただし、SSLの使用に依存している場合は、SSL証明書認証の方が適している場合があります)。

    pg_hba.confのサンプルの場所 :
    /etc/postgresql/9.1/main/pg_hba.conf



    1. データベースの効率を高めるための主な方法

    2. OracleデータベースでPL/SQLSYS_REFCURSORを作成する方法

    3. 初心者のための5つの実用的なデータベースのヒント

    4. MariaDBにデータを挿入するときの「エラー1136(21S01):列数が行1の値数と一致しない」を修正