PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Отдалечена PostgreSQL връзка с pgAdmin

Първо тествайте дали можете да се свържете с базата данни чрез psql :

psql -h ip_address -d name_of_the_database -U username

Ако получите грешка за отказана връзка, трябва да настроите нещо нередно и да проверите Какво трябва да проверя, ако дистанционното свързване към PostgreSQL не работи?

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

Какво трябва да проверя, ако дистанционното свързване към PostgreSQL не работи?

  1. Проверете конфигурацията за удостоверяване в pg_hba.conf

    Обикновено се намира в linux - /etc/postgresql/version/main/pg_hba.conf .Трябва да разрешите удостоверяване за клиента за конкретен IP от всички IP адреси:

    # 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
    

    Повече информация как да настроите pg_hba.conf можете да намерите в документация .

  2. След това трябва да настроите слушане на конкретен порт.

    Трябва да намерите postgresql.conf . Обикновено се намира /etc/postgresql/9.1/main/postgresql.conf ) файл и променете реда с listen_address от:

    #listen_address = ''
    

    до (не забравяйте да премахнете #, което означава коментар):

    listen_address = '*'
    
  3. След всяка стъпка трябва да рестартирате услугата Postgresql:

    sudo service postgresql restart
    
  4. След стъпка 2 трябва да видите порт 5432 (или 5433) в адреса за слушане след командата netstat:

    netstat -ntlp
    
  5. След това трябва да отворите порт за PostgreSQL в защитната стена:

    sudo ufw allow 5432
    

    Можете да проверите настройките на защитната стена с (трябва да видите 5432 в списъка):

    sudo ufw status
    
  6. Ако някоя от предишните стъпки не работи, трябва да проверите дали PostgreSQL не работи на различен порт (обикновено 5433) и да повторите предишните стъпки.

    Това се случва много често, когато имате повече работещи версии на PostgreSQL или надстроите база данни и сте забравили да спрете предишната версия на PostgreSQL.

Ако имате проблеми с намирането на конфигурационни файлове, можете да проверите тази тема Къде са моите postgres *.conf файлове? .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. psycopg2 не може да види моя екземпляр на PostgreSQL

  2. Проверете дали NULL съществува в Postgres масива

  3. Как да промените типа на колоната от знак, вариращ до цяло число, като използвате sqlalchemy-migrate

  4. Как да конвертирате цяло число в низ и да получите дължина на низа

  5. Създайте централна таблица с PostgreSQL