Проверьте что хост и порт указаны правильно и что postmaster принимает tcp ip подсоединения
Перейти к содержимому

Проверьте что хост и порт указаны правильно и что postmaster принимает tcp ip подсоединения

  • автор:

Проверьте что хост и порт указаны правильно и что postmaster принимает tcp ip подсоединения

Здравствуйте, товарищи программисты!

Проблема, наверное, известная, но ответа я так и не нашёл. Произошло это
очень неожиданно: раньше нормально работал и вдруг, как обычно, пытаюсь подключиться к локальному сокету и

psql: не удалось подключиться к серверу: Connection refused (0x0000274D/10061)
Он действительно работает по адресу «localhost» (::1)
и принимает TCP-соединения (порт 5432)?
не удалось подключиться к серверу: Connection refused (0x0000274D/10061)
Он действительно работает по адресу «localhost» (127.0.0.1)
и принимает TCP-соединения (порт 5432)?

Я проверил файлы pg_hba.conf, postgresql.conf — их содержание стандартно.

Командой netstat я просмотрел активные подключения, порта 5432 в списке не обнаружил.

Можете помочь разобраться, товарищи?

Последний раз редактировалось Haric_110; 12.07.2017 в 22:45 .

Не могу подключиться в Postgresql?

Не могу подключиться в Postgresql.
Выводит одну единственную ошибку: org.postgresql.util.PSQLException: Подсоединение отклонено. Проверьте что хост и порт указаны правильно и что postmaster принимает TCP/IP-подсоединения.

Так пытаюсь подключиться. Скачивал PostgreSQL c jdbc.postgresql.org/download.html, версия postgresql-9.3-1102.jdbc41.jar закинул в библиотеку проекта.

import java.sql.*; public class JDBCExample < public static void main( String args[] ) < Connection c = null; Statement stmt = null; try < Class.forName("org.postgresql.Driver"); c = DriverManager.getConnection("jdbc:postgresql://localhost:5432/testdb","alisher", "123456"); System.out.println("Opened database successfully"); stmt = c.createStatement(); String sql = "CREATE TABLE PHONEBOOK " + "(ID INT PRIMARY KEY NOT NULL," + " first_name VARCHAR(20) NOT NULL, " + " last_name VARCHAR(20) NOT NULL, " + " PHONE VARCHAR(20), " + " EMAIL VARCHAR(50))"; stmt.executeUpdate(sql); stmt.close(); c.close(); >catch ( Exception e ) < System.err.println( e.getClass().getName()+": "+ e.getMessage() ); System.exit(0); >System.out.println("Table created successfully"); > >
  • Вопрос задан более трёх лет назад
  • 15124 просмотра

Не удается подключиться к базе данных (could not connect to server: Connection refused)¶

Подобная ошибка возникает, если доступ к серверу ограничен файерволом или PostgreSQL не принимает подключение по указанному адресу/порту (10.0.2.15). Настройка файервола выходит за рамки тематики данного сайта, поэтому ниже приводится только решение проблемы, связанной с настройкой PostgreSQL.

Решение¶

Необходимо зайти на сервер по ssh и проверить статус СУБД командой:

$ sudo netstat -pant | grep postgres tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1439/postgres

Pезультат выполнения команды означает, что PostgreSQL принимает подключения по адресу 127.0.0.1 и порту 5432. Чтобы изменить настройки, понадобится отредактировать файл postgresql.conf

Найти местонахождение файла можно командой:

$ find / -name postgresql.conf 2> /dev/null /etc/postgresql/9.2/main/postgresql.conf

Надо указать PostgreSQL, что необходимо принимать подключения по всем адресам:

listen_addresses = '*' 

и перезагрузить СУБД:

$ sudo service postgresql restart * Restarting PostgreSQL 9.2 database server [ OK ]

Теперь необходимо проверить настройки:

$ sudo netstat -pant | grep postgres tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 1492/postgres tcp6 0 0 . 5432 . * LISTEN 1492/postgres

Теперь доступ к базе данных есть с любого адреса. Можно попытаться подключиться к базе данных:

$ psql -U my_login -h 10.0.0.101 postgres

Если сервер доступен, то будет получен доступ к базе данных postgres:

psql (9.2.1) Type "help" for help. postgres=#

либо можно получить другую ошибку:

psql: FATAL: no pg_hba.conf entry for host "10.0.0.1", user "my_login", database "postgres", SSL on FATAL: no pg_hba.conf entry for host "10.0.0.1", user "my_login", database "postgres", SSL off

Обсуждение: BUG #16301: unable to connect to server

The following bug has been logged on the website:

Bug reference: 16301
Logged by: boli
Email address: boli9301@163.com
PostgreSQL version: 12.2
Operating system: windows 64
Description:

I am in the China. I download the Pgadmin and want to create a server. The
host name is localhost, port is 5432, I also fill other information. Then,
the error is unable to connect server: could not connect to server:
connection refused (0x0000274D/10061), is the server running on host
«localhost»(::1) and accepting TCP/IP connections on port 5432

Just to be clear, did you also download and install the server? Creating a server in pgAdmin doesn’t actually create a new PostgreSQL server, it create a server profile in pgAdmin that points to a server that is already running.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *