Gdzie jest inicjdb w Ubuntu

16

Chcę zresetować bazę danych postgresql do stanu początkowego po instalacji. Najwyraźniej initdb jest na to sposobem, ale chociaż polecenie ma stronę podręcznika, wydaje się, że nie ma go nigdzie w moim systemie Ubuntu 10.10.

Czy ktoś wie, jak to zrobić na Ubuntu?

John Lawrence Aspden
źródło
initdb jest gdzieś w twoim systemie, PostgreSQL potrzebuje go, aby zacząć.
Frank Heikens,

Odpowiedzi:

13

Osobiście uważam, że lepiej byłoby trzymać się konkretnych poleceń Ubuntu, pg_lsclusters, pg_dropcluster i pg_createcluster. Te funkcje opakowania obsługują wszystkie elementy układu systemu plików i w razie potrzeby wywołują initdb. Nie chodzi o to, że nie można używać poleceń bezpośrednich, ale widziałem, jak wiele osób ma problemy z pominięciem części standardowej konfiguracji ubuntu / debian, a następnie napotykało problemy, gdy pewne założenia nie zostały spełnione. Masz rozwiązanie w zakresie opakowań, skorzystaj z niego.

Xzilla
źródło
1
W przypadku oprogramowania serwerowego jest to całkowicie wstecz. Ja decyduję, gdzie idą moje pliki danych bazy danych, a nie nadgorliwe przepakowywanie Ubuntu. Tego rodzaju bzdury to Dowód A, że nigdy nie uruchamia serwera na Ubuntu.
Noah Yetter,
2
@NoahYetter: skrypt nie uniemożliwia ci podjęcia takiej decyzji; w rzeczywistości daje ci -dprzełącznik do tego celu. W Ubuntu jest wiele powodów do narzucenia się, ale rozsądne ustawienia domyślne nie powinny być jednym.
André Paramés
7

http://ubuntuforums.org/showthread.php?t=694887 sugeruje, że chcesz szukać /usr/lib/postgresql/$postgres_version/bintam, gdzie powinieneś również znaleźć createb, createuser i podobne, jeśli ich potrzebujesz.

Oczywiście zastąp odpowiednią wersję postgres!

(Jako ogólniejsza wskazówka: locate initdbprawdopodobnie dostarczyłbym ci odpowiedź. Nie mam jednak zainstalowanej maszyny Ubuntu z PG, aby sprawdzić odpowiedź lub ten fakt!)

James Green
źródło