web-dev-qa-db-ja.com

PostgreSQL 11の設定ではpgAdmin4は接続できません

私はPostgreSQLを初めて使用するので、質問は簡単かもしれません。そう。 PostgreSQL 11とpgAdmin 4をFedora 29にインストールしました。ターミナルまたはAzureDataStudioを介してデータベースに接続できますが、pgAdminで接続しようとすると、次のエラーが発生します。

サーバーに接続できません:

サーバーに接続できませんでした:アクセスが拒否されましたサーバーはホスト "127.0.0.1"で実行されており、ポート5432でTCP/IP接続を受け入れていますか?

私は最後の3日間で見つけられるものを何でも試していますが、何の助けにもなりませんでした。これが私の設定です:

# I set listen_address in postgresql.conf:
listen_addresses = '*'

# and these are my pg_hba.conf hosts:
local   all             all                     md5

Host    all             all     127.0.0.1/32    md5
Host    all             all     0.0.0.0/0       md5

Host    all             all     ::1/128         md5
Host    all             all     ::/0            md5

local   replication     all                     peer
Host    replication     all     127.0.0.1/32    ident
Host    replication     all     ::1/128         ident

これらの構成に問題はありますか?または、pgAdminを介して接続するために知っておくべきヒントはありますか?前もって感謝します。

UPDATE:

ターミナルを介してデータベースに接続できることを述べておきます。

psql -h 127.0.0.1 -U postgres

AzureDataStudioを介した接続には、指定されたデータは必要ありません。次のようなフォームがあります。

enter image description here

フォームに入力して[接続]ボタンを送信すると、データベースに接続します。また、JetBrainsのDataGripを介して同じフォームとデータでデータベースに接続できます。

更新2:

Fedora 30を実行しているローカルマシンでPostgreSQLとpgAdminの両方を実行しています。

更新3:

ここに私の完全なソフトウェアの情報があります:

// OS
Fedora 30 64-bit

// PostgreSQL
PostgreSQL 11.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 9.0.1 20190312 (Red Hat 9.0.1-0.10), 64-bit

// pgAdmin
Version    4.8
Copyright    Copyright (C) 2013 - 2019, The pgAdmin Development Team
Python Version    3.7.3 (default, May 11 2019, 00:38:04) [GCC 9.1.1 20190503 (Red Hat 9.1.1-1)]
Flask Version    1.0.2
Application Mode    Server

更新3:

ランニング Sudo netstat -nlp | grep 5432コマンドはこの結果を返します。

tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      16954/postmaster    
tcp6       0      0 :::5432                 :::*                    LISTEN      16954/postmaster    
unix  2      [ ACC ]     STREAM     LISTENING     952579   16954/postmaster     /var/run/postgresql/.s.PGSQL.5432

更新4:解決策!

最後に、 Jan Garajの答え の助けを借りて、解決策を見つけました。まず、SELinux Troubleshooterアプリをインストールしました:

Sudo dnf install setroubleshoot

次に、トラブルシューティングを開始しました。次に、pgAdmin4を使用してデータベースに接続しようとしました。トラブルシューターは私にこれらのコマンドを実行していた提案された解決策で2つのエラーを与えました:

Sudo setsebool -P httpd_can_network_connect 1
Sudo setsebool -P httpd_can_network_connect_db 1
9
ravy amiry

SELinux監査ログを確認します- https://fedoraproject.org/wiki/SELinux_FAQ#How_do_I_find_out_whether_SELinux_is_denying_access_for_any_software.3F

テストCentOS 7システムで拒否が表示されます。

type=AVC msg=audit(1560101981.565:1942): avc:  denied  { name_connect } for  pid=63140 comm="httpd" dest=5432 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:postgresql_port_t:s0 tclass=tcp_socket permissive=0
type=SYSCALL msg=audit(1560101981.565:1942): Arch=c000003e syscall=42 success=no exit=-13 a0=15 a1=7f741c06dfe0 a2=10 a3=7f742f9147b8 items=0 ppid=63139 pid=63140 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null)

私の推測では、Fedoraでも同様の問題が発生します-使用したSELinuxポリシーを微調整する必要があります。

3
Jan Garaj