Проверьте что хост и порт указаны правильно и что 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.