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

ローカルPostgreSQLに接続できません

    これは本当にファイルパーミッションエラーのように見えます。 Unixドメインソケットはファイルであり、他のソケットと同じようにユーザー権限を持っています。データベースにアクセスしようとしているOSXユーザーには、ソケットファイルにアクセスするためのファイル権限がないようです。これを確認するために、Ubuntuとpsqlでいくつかのテストを実行して、同じエラーを生成しようとしました(以下に含まれています)。

    ソケットファイルとそのディレクトリ/varの権限を確認する必要があります および/var/pgsql_socket 。 Railsアプリ(OSXユーザー)には、これらのディレクトリに対する実行(x)権限(できれば全員に権限を付与)が必要であり、ソケットには完全な権限(wrx)が必要です。 ls -lAd <file>を使用できます これらをチェックするには、それらのいずれかがシンボリックリンクである場合は、ファイルをチェックするか、リンクが指すディレクトリを指定する必要があります。

    ディレクトリの権限は自分で変更できますが、ソケットはpostgresql.confのpostgresによって構成されます。 。これは、pg_hba.confと同じディレクトリにあります。 (どれを理解する必要があります)。権限を設定したら、postgresqlを再起動する必要があります。

    # postgresql.conf should contain...
    unix_socket_directory = '/var/run/postgresql'       # dont worry if yours is different
    #unix_socket_group = ''                             # default is fine here
    #unix_socket_permissions = 0777                     # check this one and uncomment if necessary.
    

    編集:

    私はグーグルで簡単な検索を行いましたが、それが関連性があるかどうかを調べることができます。これにより、findが試行される可能性があります。 構成ファイルが失敗します。

    http://www.postgresqlformac.com/server/howto_edit_postgresql_confi.html

    エラーメッセージ:

    pg_hba.confにユーザーが見つかりません

    psql: FATAL:  no pg_hba.conf entry for host "[local]", user "couling", database "main", SSL off
    

    ユーザーがパスワード認証に失敗しました:

    psql: FATAL:  password authentication failed for user "couling"
    

    unixソケットファイルがありません:

    psql: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
    

    Unixソケットは存在しますが、サーバーはそれをリッスンしていません。

    psql: could not connect to server: Connection refused
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
    

    UNIXソケットファイルの不正なファイル権限

    psql: could not connect to server: Permission denied
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
    


    1. SQL Serverの照合で、大文字と小文字を区別するものから大文字と小文字を区別しないものに変更しますか?

    2. T-SQLで日付から月を取得する方法

    3. PDOATTR_PERSISTENTを完全に理解する

    4. 基本クラスと派生オブジェクトのバリアント