sql >> Database teknologi >  >> RDS >> PostgreSQL

FjernpostgreSQL-forbindelse med pgAdmin

Først og fremmest test, om du kan oprette forbindelse til databasen via psql :

psql -h ip_address -d name_of_the_database -U username
 

Hvis du får en fejlmeddelelse om afvist forbindelse, var du nødt til at konfigurere noget forkert og kontrollere Hvad skal jeg kontrollere, hvis fjernforbindelse til PostgreSQL ikke virker?

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

Hvad skal jeg kontrollere, hvis fjernforbindelse til PostgreSQL ikke virker?

  1. Tjek godkendelseskonfigurationen i pg_hba.conf

    Normalt placeret på linux - /etc/postgresql/version/main/pg_hba.conf .Du bør tillade godkendelse for klient for specifik IP alt fra alle IP-adresser:

    # 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

    Flere oplysninger om, hvordan du opsætter pg_hba.conf du kan finde i dokumentation .

  2. Så skal du konfigurere lytning på en bestemt port.

    Du skal finde postgresql.conf . Normalt placeret /etc/postgresql/9.1/main/postgresql.conf ) fil og ændre linjen med listen_address fra:

    #listen_address = ''
     

    til (glem ikke at fjerne #, hvilket betyder kommentar):

    listen_address = '*'
     
  3. Efter hvert trin skal du genstarte Postgresql-tjenesten:

    sudo service postgresql restart
     
  4. Efter trin 2 skulle du se port 5432 (eller 5433) i lytteadressen efter netstat-kommandoen:

    netstat -ntlp
     
  5. Derefter skal du åbne porten for PostgreSQL i firewall:

    sudo ufw allow 5432
     

    Du kan tjekke firewall-indstillingerne med (du skulle se 5432 på listen):

    sudo ufw status
     
  6. Hvis et af de foregående trin ikke virker, bør du kontrollere, om PostgreSQL ikke kører på en anden port (normalt 5433) og gentage de foregående trin.

    Dette sker meget ofte, når du har flere kørende versioner af PostgreSQL, eller du opgraderer databasen og glemte at stoppe den tidligere version af PostgreSQL.

Hvis du har problemer med at finde konfigurationsfiler, kan du tjekke denne tråd Hvor er mine postgres *.conf-filer? .



  1. Slet sql-rækker, hvor ID'er ikke matcher fra en anden tabel

  2. Brug af Unpivot-trinnet til at lave en tabeltabel ud af en krydstabel

  3. Oracle DB Server + APEX + ORDS + JasperRapporter fra bunden (Del 4)

  4. Databasedesign:hvad er meningen med at identificere fremmednøgler?