sql >> Databáze >  >> RDS >> PostgreSQL

Vzdálené připojení PostgreSQL s pgAdmin

Nejprve otestujte, zda se můžete připojit k databázi přes psql :

psql -h ip_address -d name_of_the_database -U username

Pokud se zobrazí chyba odmítnutí připojení, museli jste něco nastavit špatně a zkontrolovat Co bych měl zkontrolovat, když vzdálené připojení k PostgreSQL nefunguje?

psql: could not connect to server: Connection refused Is the server running on host ip_address

Co mám zkontrolovat, když vzdálené připojení k PostgreSQL nefunguje?

  1. Zkontrolujte konfiguraci ověřování v pg_hba.conf

    Obvykle se nachází na linuxu - /etc/postgresql/version/main/pg_hba.conf .Měli byste povolit ověřování pro klienta pro konkrétní IP všechny ze všech IP adres:

    # Database administrative login by Unix domain socket
    local     all            postgres        peer
    
    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    
    # "local" is for Unix domain socket connections only
    local     all            all             peer
    # IPv4 local connections:
    host     all             all             0.0.0.0/0               md5
    # IPv6 local connections:
    host     all             all             ::0/0                   md5
    #all ips
    host     all             all             all                     md5
    

    Další informace o nastavení pg_hba.conf najdete v dokumentaci .

  2. Pak byste měli nastavit poslech na konkrétním portu.

    Musíte najít postgresql.conf . Obvykle se nachází /etc/postgresql/9.1/main/postgresql.conf ) a změňte řádek s adresou listen_ z:

    #listen_address = ''
    

    to (nezapomeňte odstranit #, což znamená komentář):

    listen_address = '*'
    
  3. Po každém kroku byste měli restartovat službu Postgresql:

    sudo service postgresql restart
    
  4. Po kroku 2 byste měli vidět port 5432 (nebo 5433) v naslouchací adrese po příkazu netstat:

    netstat -ntlp
    
  5. Poté musíte otevřít port pro PostgreSQL ve firewallu:

    sudo ufw allow 5432
    

    Nastavení brány firewall můžete zkontrolovat pomocí (v seznamu byste měli vidět 5432):

    sudo ufw status
    
  6. Pokud některý z předchozích kroků nefunguje, měli byste zkontrolovat, zda PostgreSQL neběží na jiném portu (obvykle 5433) a zopakovat předchozí kroky.

    To se stává velmi často, když máte více spuštěných verzí PostgreSQL nebo upgradujete databázi a zapomenete zastavit předchozí verzi PostgreSQL.

Pokud máte problémy s nalezením konfiguračních souborů, můžete se podívat na toto vlákno Kde jsou mé soubory postgres *.conf? .



  1. Oracle přístup z iOS

  2. Volání uložené procedury JDBC

  3. Co je PostgreSQL ekvivalent k SQL Server NVARCHAR?

  4. Funkce RAWTONHEX() v Oracle