Назад | Перейти на главную страницу

postgresql не подключается после обновления до ubuntu 11.04

Недавно я обновился до Natty (Ubuntu 11.04), и теперь мой postgresql, похоже, не подключается.

Я использую pgadmin3, который вызывает следующую ошибку:

не удалось подключиться к серверу: в соединении отказано. Сервер работает на хосте "localhost" и принимает соединения TCP / IP на порту 5432? не удалось подключиться к серверу: в соединении отказано. Сервер работает на хосте "localhost" и принимает соединения TCP / IP на порту 5432?

набор текста psql на терминале выдает следующую ошибку:

psql: невозможно подключиться к серверу: нет такого файла или каталога. Сервер работает локально и принимает соединения через сокет домена Unix "/var/run/postgresql/.s.PGSQL.5432"?

Ниже приведены файлы в var/run/postgresql/

total 8 
drwxrwsr-x  2 postgres postgres 100 2011-05-15 14:35 . 
drwxr-xr-x 19 root     root     720 2011-05-15 14:35 ..
-rw-------  1 postgres postgres   5 2011-05-15 14:35 8.4-main.pid 
srwxrwxrwx  1 postgres postgres   0 2011-05-15 14:35 .s.PGSQL.5433
-rw-------  1 postgres postgres  34 2011-05-15 14:35 .s.PGSQL.5433.lock

netstat показывает

sudo netstat -lp | grep postgresql 
unix  2      [ ACC ]     STREAM     LISTENING     7763     1025/postgres   /var/run/postgresql/.s.PGSQL.5433

Я считаю, что проблема в том, что он хочет начать 5432 но это должно начаться в 5433 но как мне это изменить ??

Я только что обновил PostgreSQL и столкнулся с той же проблемой. Проблема заключалась в том, что мой новый сервер postgres с запущенной версией (9.1) был установлен параллельно с моим старым сервером с запущенной версией (8.4). Я предполагаю, что конфигурация по умолчанию - работать на альтернативном порту (5433).

Поэтому моим решением было убедиться, что новый сервер работает на 5432.

Так что отредактируйте конфигурацию postgres

sudo -u postgres gedit /etc/postgresql/9.1/main/postgresql.conf

Убедитесь, что это порт 5432:

port = 5432

И перезапустите сервер postgres, выполнив:

sudo -u postgres /etc/init.d/postgresql restart

Непроверенной альтернативой было бы сначала удалить старый сервер postgres перед установкой новой версии.

Порт по умолчанию для Postgres - 5432. Поэтому все инструменты (pgadmin3, psql) по умолчанию будут использовать этот порт, если вы не укажете иное.

У вас Pg работает на порте 5433. Поэтому для подключения к любому инструменту вам придется вручную указать номер порта. На pgadmin3 это текстовое поле где-то в графическом интерфейсе подключения (если я правильно помню). psql принимает --port вариант следующим образом:

psql --port 5433 [database]