2013-03-23 13 views
11

Jestem na serwerze Ubuntu 12.04 i próbuję zainstalować Postgresql. W tej chwili udało mi się go zainstalować, ale nie można go skonfigurować. Trzeba utworzyć rolę iść do przodu, a ja prowadził tę komendę w terminalu:nie można utworzyć postgres użytkownika: rola "postgres" nie istnieje

[email protected]: createuser -s -r postgres

i powiedział:

createuser: could not connect to database postgres: FATAL: role "root" does not exist

dzieła, tak zrobiłem:

su - postgres

, a następnie próbowano ponownie

[email protected]: createuser -s -r postgres

i mam błąd

createuser: could not connect to database postgres: FATAL: role "postgres" does not exist

i uzyskać ten sam błąd, gdy zrobić

psql -d dbname

Jej jak pętli, nie jestem w stanie stworzyć rola postgres, ponieważ rola postgres już nie istnieje.

Jak to naprawić?

Wersja postgres wydaje się być 9.1.x oraz wersja Ubuntu 12.10

+0

Jaki jest wynik działania 'sudo pg_lsclusters'? –

+0

@ A.H. Nie znaleziono polecenia 'pg_lsclusters'. Poprosił mnie o zainstalowanie pakietu 'postgresql-common'. Próbowałem robić jako root i dostałem błąd. Próbował usunąć 'postgres-xc' i' dpkg: error processing postgres-xc (--remove): ', a następnie zakończył działanie. – ktkaushik

Odpowiedz

9

Okazało się, że zainstalowałem postgres-xc i postgresql na moim komputerze. Musiałem kompletnie znokautować postgres-xc. I było to trochę trudne, ponieważ zawsze występował błąd --purge remove postgres-xc, a deinstalacja nie mogła być kontynuowana.

Wygląda na to, że jest jakiś błąd w pakowaniu. (details on launchpad).

Ostatecznie skończyłem robić this, aby działało.

Po tym, odinstalowałem postgresql i zainstalowałem go z powrotem, aby działał.

+0

Miałem podobny problem. Podczas odinstalowywania postgresql, zatrzymaj wszystkie procesy postgres, usuń użytkownika 'postgres' użytkownika uniksowego, a także usuń pliki blokad w'/var/run/postgresql'. – osa

+0

@SergeyOrshanskiy dzięki za to. Pamiętam, że ostatecznie rozwiązałem się, robiąc prawie to, co powiedziałeś. :) – ktkaushik

+1

Postgres-xc najwyraźniej pomieszał moją konfigurację PostgreSQL. Ta sama naprawa zadziałała dla mnie! –

1

Czytaj postgresql tutorial to nie ma znaczenia, czy jest to Ubuntu Linux lub inny.

EDYTOWANIE przed utworzeniem roli lub czegokolwiek na świeżej instalacji należy utworzyć klaster bazy danych: czy utworzono go?

initdb -D /usr/local/pgsql/data 

Musisz się zalogować jako użytkownik postgres na maszynie linux. Here to więcej informacji.

+0

tak. Postępuję zgodnie z instrukcjami, ale nie mogę utworzyć użytkownika. Rola 'postgres' nie istnieje, aby utworzyć rolę' postgres'.To mnie myli. dowolny pomysł ? – ktkaushik

+0

@Ladislav: Debian (a zatem także Ubuntu) ma własne skrypty i konwencje do zarządzania bazami danych i klastrami PostgreSQL. Używanie zwykłych poleceń PG przyniesie więcej szkód niż jest w porządku. Specjalnie dla nie-ekspertów. –

+0

@ A.H. nie wiem o Debianie i Ubuntu, używam Slackware. z 'initdb' nie zaszkodzi instalacji, służy do tworzenia klastra bazy danych. utworzy pliki w '/ usr/local/pgsql/data', jeśli coś pójdzie nie tak, możesz je usunąć i zacząć od początku. – 1ac0

Powiązane problemy