Проблема с установкой и настройкой PostgreSQL


18

Я новичок здесь и администрация сервера. Пару дней назад я зарегистрировал сервер в Hetzner с Ubuntu 11.04.

Я намереваюсь работать с PostgreSQL, для которого я установил из исходного кода после неудачной установки с помощью apt-get. Установка как таковая не дает сбоя, но служба PostgreSQl не запускается автоматически или когда я пытаюсь запустить ее вручную. Это терпит неудачу со следующим сообщением об ошибке, когда я пытаюсь сделать что-нибудь с этим:

manager@Ubuntu-1104-natty-32-minimal:~$ sudo su postgres -c psql template1
psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Это была ошибка, которую я получал, когда я установил PostgreSQL с помощью apt-get и переустановил его из исходного кода. Ниже приведен вывод, который я получил при установке из исходного кода. Это подтверждает, что PostgreSQL действительно установлен.

make -C config install
make[1]: Entering directory `/home/manager/postgresql-9.0.4/config'
/bin/mkdir -p '/usr/local/pgsql/lib/pgxs/config'
/bin/sh ../config/install-sh -c -m 755 ./install-sh '/usr/local/pgsql/lib/pgxs/config/install-sh'
make[1]: Leaving directory `/home/manager/postgresql-9.0.4/config'
PostgreSQL installation complete.

Но разве служба не запускается автоматически? Это не здесь:

manager@Ubuntu-1104-natty-32-minimal:~$ ps auxw | grep post
manager   6734  0.0  0.0   4156   868 pts/0    S+   14:10   0:00 grep --color=auto post

Это сказывается на моем терпении и уверенности. Пожалуйста, помогите мне решить эту проблему.

Ответы:


27

Отвечая на мой собственный вопрос. Это немного раздражает, первый вопрос на любом сайте StackExchange не подходит для меня.

Я уже сделал это, но на этот раз как-то сработало. Сделал это:

  1. sudo apt-get update && sudo apt-get update
  2. sudo apt-get purge postgresql *
  3. sudo apt-get -f установить
  4. sudo apt-get установить postgresql

Работает как шарм.

Примечание: добавление * в команду purge удалит все пакеты, начинающиеся с postgresql


4
Просто хочу отметить, что если у вас есть perl: warning: Setting locale failedпри установке postgresql, это может привести к тому, что при установке не удастся создать новый кластер, поэтому сервер postgresql не запустится. Исправление этой языковой проблемы и переустановка postgresql с помощью приведенной выше инструкции работали для меня.
Hieu

Это сработало для меня! Большое спасибо, у меня сейчас установлена ​​9.5, когда я изначально установил 9.3, но хотел переключиться. В коммутаторе установка и переустановка работали не очень хорошо.
Марк Томлин

6

Я тоже сталкивался с этой проблемой с Хецнером и очень раздражал. Вот как я решил это Подсказка: Посмотрел некоторые сценарии пакета pg

sudo apt-get purge postgresql* # окончание * важно

sudo apt-get install postgresql

Я подозреваю, что либо образ Хетцнера 11.04 глючит, либо это .deb Ubuntu (хотя вряд ли).


2

Я не видел эту ошибку на панели запуска в связи с Нетти. Та же проблема была поднята как ошибка на панели запуска для Харди и получила исправление. Таким образом, следуя этой логике, я ожидал, что это будет ошибка, и, вероятно, лучше всего регистрировать ошибку на панели запуска.

Заглядывая дальше, я нашел 2 интересные (но старые) темы, показывающие точно такую ​​же ошибку, на которую стоит обратить внимание:

Эта тема 2006 года говорит о точно такой же проблеме и утверждает, что

sudo /etc/init.d/postgresql-8.1 stop

sudo /etc/init.d/postgresql-8.1 start

psql template1

работает.

На ubuntuforums существует тема 2008 года об этой же ошибке, которая имеет статус «решено». Пожалуйста, посмотрите на множество предложений в этой теме.


2

psql является клиентом cli, он не запускает сервер PostgreSQL. Чтобы запустить сервер, вы должны использовать:

/etc/init.d/postgresql start

тогда вы можете подключиться к нему с помощью PSQL.

Чтобы запустить PostgreSQL при загрузке, вы должны сделать следующее:

update-rc.d postgresql enable

Вы также можете взглянуть на это:

http://www.cyberciti.biz/tips/how-to-controlling-access-to-linux-services.html


0

Запустив Ubuntu 14.04, у меня были похожие проблемы, и я не мог заставить его работать, используя вышеуказанные решения. В конце концов я нашел свой ответ здесь .

а) Я запустил эту команду aptitude search postgresql|grep ^iв терминале и получил следующие результаты:

i   postgresql                      - object-relational SQL database (supported 
i A postgresql-9.3                  - object-relational SQL database, version 9.
i A postgresql-client-9.3           - front-end programs for PostgreSQL 9.3     
i A postgresql-client-common        - manager for multiple PostgreSQL client ver
i A postgresql-common               - PostgreSQL database-cluster manager

б) Тогда: sudo aptitude purge postgresql postgresql-9.3 postgresql-common

в) наконец: sudo aptitude install postgresql

Теперь все работает отлично.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.