Проблема Встановлення та налаштування 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-отримати оновлення && sudo apt-get upgrade
  2. sudo apt-get purge postgresql *
  3. sudo apt-get -f встановити
  4. sudo apt-get install postgresql

Працює як шарм.

Примітка: додавання * у команді очищення очистить усі пакунки, що починаються з 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

Я підозрюю, що або зображення Hetzner 11.04 є помилковим, або Ubuntu .deb (хоч навряд чи).


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.