Problem z instalacją i konfiguracją PostgreSQL

18

Jestem nowicjuszem tutaj i administracją serwera. Kilka dni temu zarejestrowałem serwer w Hetzner z Ubuntu 11.04.

Zamierzam pracować z PostgreSQL, dla którego zainstalowałem ze źródła po nieudanej instalacji za pomocą apt-get. Instalacja jako taka nie kończy się niepowodzeniem, ale usługa PostgreSQl nie uruchamia się automatycznie lub gdy próbuję uruchomić ją ręcznie. Występuje błąd z następującym komunikatem o błędzie, gdy próbuję coś z tym zrobić:

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"?

Taki błąd występował, gdy instalowałem PostgreSQL przy użyciu apt-get i ponownie instalowałem go ze źródła. Poniżej przedstawiono dane wyjściowe, które otrzymałem po zainstalowaniu ze źródła. Potwierdza to, że PostgreSQL jest rzeczywiście zainstalowany.

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.

Ale czy usługa nie uruchamia się automatycznie? Nie ma tutaj:

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

To odbija się na mojej cierpliwości i pewności siebie. Pomóż mi rozwiązać ten problem.

Syed Aslam
źródło

Odpowiedzi:

27

Odpowiadając na moje pytanie. To trochę denerwujące, pierwsze pytanie na dowolnej stronie StackExchange nie jest dla mnie dobre.

Już to zrobiłem, ale tym razem jakoś zadziałało. Zrobił to:

  1. sudo apt-get update && sudo apt-get upgrade
  2. sudo apt-get purge postgresql *
  3. sudo apt-get -f install
  4. sudo apt-get install postgresql

Działa jak marzenie.

Uwaga: dodanie * w poleceniu purge wyczyści wszystkie pakiety zaczynające się od postgresql

Syed Aslam
źródło
4
Chcę tylko zaznaczyć, że jeśli masz to perl: warning: Setting locale failedpodczas instalowania postgresql, może to spowodować, że instalacja nie utworzy nowego klastra, więc serwer postgresql nie uruchomi się. Naprawienie tego problemu z lokalizacją i ponowna instalacja postgresql z powyższą instrukcją działała dla mnie.
Hieu
To działało dla mnie jak urok! Dziękuję bardzo, mam teraz zainstalowany 9.5, kiedy pierwotnie zainstalowałem 9.3, ale chciałem się zmienić. W przełączniku instalacja i ponowna instalacja nie działały zbyt dobrze.
Mark Tomlin
6

Ja też zmagałem się z tym problemem z Hetznerem i bardzo denerwowałem. Oto jak to rozwiązałem Wskazówka: sprawdziłem niektóre skrypty pg pg

sudo apt-get purge postgresql* # zakończenie * jest ważne

sudo apt-get install postgresql

Podejrzewam, że albo obraz Hetznera 11.04 jest wadliwy, albo to .deb Ubuntu (choć mało prawdopodobne).

Shekhar
źródło
2

Nie widziałem tego błędu na starterze w powiązaniu z Natty. Ten sam problem został zgłoszony jako błąd na starterze dla Hardy i został naprawiony. Zgodnie z tą logiką spodziewałbym się, że będzie to błąd i prawdopodobnie najlepszą praktyką jest zgłoszenie błędu na starterze.

Patrząc dalej, znalazłem 2 interesujące (ale stare) tematy pokazujące dokładnie ten sam błąd, który wydaje się wart uwagi:

Ten temat z 2006 roku mówi o tym samym problemie i twierdzi, że

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

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

psql template1

Pracuje.

Na ubuntuforums jest temat z 2008 roku o tym samym błędzie i ma status „rozwiązany”. Zapoznaj się z wieloma sugestiami w tym temacie.

Rinzwind
źródło
2

psql jest klientem cli, nie uruchamia serwera PostgreSQL. Aby uruchomić serwer, powinieneś użyć:

/etc/init.d/postgresql start

możesz połączyć się z nim za pomocą psql.

Aby PostgreSQL zaczął się uruchamiać, wykonaj następujące czynności:

update-rc.d postgresql enable

Możesz także spojrzeć na to:

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

Cliff Wells
źródło
0

W systemie Ubuntu 14.04 miałem podobne problemy i nie mogłem go uruchomić przy użyciu powyższych rozwiązań. W końcu znalazłem tutaj swoją odpowiedź .

a) Uruchomiłem to polecenie aptitude search postgresql|grep ^iw terminalu i otrzymałem następujące wyniki:

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

b) Następnie: sudo aptitude purge postgresql postgresql-9.3 postgresql-common

c) Wreszcie: sudo aptitude install postgresql

Wszystko działa teraz dobrze.

8bithero
źródło