Pomóż zainstalować postgres w ubuntu

2

Próbuję zainstalować postgresql w najnowszym ubuntu i obserwuję te instrukcje . Kiedy ja sudo -u postgres psql postgres Dostaję ten błąd: could not change directory to "/home/james"

Byłbym wdzięczny za każdą pomoc.

James
źródło

Odpowiedzi:

2

Brzmi to jak postgres użytkownika, którego używasz do uruchamiania psql, może nie czytać katalogu, w którym wykonujesz instrukcję z (/ home / james /)

  • sudo = s czarownica u ser i robić - południowy zachód
  • u = „jako użytkownik”
  • postgres = użytkownik, na który chcesz się przełączyć
  • psql = polecenie do wykonania
  • postgres = baza danych do połączenia

Zgaduję tutaj, ale myślę, że sudo otworzy nową powłokę / środowisko w bieżącym katalogu dla postgres i uruchomi tam psql. Jeśli psql nie może odczytać bieżącego katalogu, może wystąpić ten błąd.

spróbuj zmienić katalog przed wykonaniem polecenia:

cd /tmp
lajuette
źródło
3
użytkownik postgres ma jakiś katalog domowy (odwołaj się do / etc / passwd), lepiej zmienić go na ten katalog większy niż / tmp.
thegeek
3

Wiem, że to stare, ale to pytanie pojawia się wysoko w Google i wolę moją odpowiedź. :)

Trzymaj -i w tym poleceniu sudo - sudo również nie zmienia wartości $ HOME, chyba że wykonasz polecenie -i (które symuluje i początkowy login). To również ładuje plik .profile użytkownika postgres itp. Tak więc uruchamiasz:

sudo -i -u postgres psql postgres

Czas demonstracyjny!

sauer@pyro:~$ sudo -u postgres sh -c 'echo $HOME'
/home/sauer
sauer@pyro:~$ sudo -i -u postgres sh -c 'echo $HOME'
/var/lib/postgresql

Pojedyncze cytaty są ważne dla tego przykładu, BTW. :)

dannysauer
źródło