sql >> Database >  >> RDS >> PostgreSQL

Externe PostgreSQL-verbinding met pgAdmin

Test eerst of je verbinding kunt maken met de database via psql :

psql -h ip_address -d name_of_the_database -U username

Als u een foutmelding krijgt dat de verbinding is geweigerd, moet u iets verkeerd instellen en de Wat moet ik controleren als externe verbinding met PostgreSQL niet werkt? aanvinken.

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

Wat moet ik controleren als externe verbinding met PostgreSQL niet werkt?

  1. Controleer de authenticatieconfiguratie in pg_hba.conf

    Meestal te vinden op linux - /etc/postgresql/version/main/pg_hba.conf .U moet authenticatie voor client voor specifieke IP toestaan, allemaal vanaf alle IP-adressen:

    # 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
    

    Meer informatie over het instellen van pg_hba.conf u kunt vinden in documentatie .

  2. Vervolgens moet je luisteren op een specifieke poort instellen.

    Je moet de postgresql.conf . vinden . Meestal te vinden op /etc/postgresql/9.1/main/postgresql.conf ) bestand en verander de regel met listen_address van:

    #listen_address = ''
    

    naar (vergeet niet # te verwijderen wat commentaar betekent):

    listen_address = '*'
    
  3. Na elke stap moet u de Postgresql-service opnieuw starten:

    sudo service postgresql restart
    
  4. Na stap 2 zou je poort 5432 (of 5433) moeten zien in het luisteradres na het netstat-commando:

    netstat -ntlp
    
  5. Daarna moet je de poort voor PostgreSQL in de firewall openen:

    sudo ufw allow 5432
    

    U kunt de firewall-instellingen controleren met (u zou 5432 in de lijst moeten zien):

    sudo ufw status
    
  6. Als een van de vorige stappen niet werkt, moet u controleren of PostgreSQL niet op een andere poort draait (meestal 5433) en de vorige stappen herhalen.

    Dit gebeurt heel vaak als je meer actieve versies van PostgreSQL hebt of als je een upgrade van de database uitvoert en vergeten bent de vorige versie van PostgreSQL te stoppen.

Als je problemen hebt om configuratiebestanden te vinden, kun je deze thread bekijken Waar zijn mijn postgres *.conf-bestanden? .



  1. Foreign key-beperkingen tijdens het dumpen van gegevens

  2. Hoe controleer ik mijn InnoDB-instellingen?

  3. MariaDB Enterprise Backup vergelijken met ClusterControl Backup Management

  4. Speel framework 2.0 JPA Mysql-fout:Kan EntityManagerFactory niet bouwen