Jakimś cudem udało mi się całkowicie zakłócać instalację postgresql na Ubuntu karmic. Chcę zacząć od nowa od zera, ale kiedy „wyczyszczę” pakiet za pomocą apt-get, nadal pozostawia ślady, tak że konfiguracja ponownej instalacji nie działa poprawnie.
Po zakończeniu:
apt-get purge postgresql
apt-get install postgresql
Powiedziało
Setting up postgresql-8.4 (8.4.3-0ubuntu9.10.1) ...
Configuring already existing cluster (configuration: /etc/postgresql/8.4/main, data: /var/lib/postgresql/8.4/main, owner: 108:112)
Error: move_conffile: required configuration file /var/lib/postgresql/8.4/main/postgresql.conf does not exist
Error: could not create default cluster. Please create it manually with
pg_createcluster 8.4 main --start
or a similar command (see 'man pg_createcluster').
update-alternatives: using /usr/share/postgresql/8.4/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode.
Setting up postgresql (8.4.3-0ubuntu9.10.1) ...
Mam plik „/ etc / postgresql”, w którym nic nie ma, a „/ etc / postgresql-common /” ma katalog „pg_upgradecluser.d” oraz pliki root.crt i user_clusters.
Plik / etc / passwd ma użytkownika postgres; skrypt czyszczenia nie wydaje się go dotykać. Było kilka symptomów, przez które pracuję tylko po to, aby ujawnić następny.
W tej chwili, kiedy uruchomię polecenie „pg_createcluster ...”, narzeka, że „/var/lib/postgresql/8.4/main/postgresql.conf nie istnieje”, więc znajdę jedno z nich, ale ja ” jestem pewien, że to nie koniec.
Czy nie ma łatwego jednego linijki (lub dwóch), który całkowicie go wypali i pozwoli mi zacząć od nowa?
źródło
Odpowiedzi:
Opcja A
Jeśli Twoja instalacja nie jest już uszkodzona, możesz upuścić niechciane serwery PostgreSQL („klastry”) za pomocą
pg_dropcluster
. Użyj tego zamiast pełnego czyszczenia i zainstaluj ponownie, jeśli chcesz ponownie uruchomić z nową instancją PostgreSQL.Opcja B
Jeśli naprawdę musisz wykonać pełne czyszczenie i ponowną instalację, najpierw upewnij się, że PostgreSQL nie działa.
ps -C postgres
nie powinien pokazywać żadnych wyników.Teraz uruchom:
aby usunąć wszystko PostgreSQL z twojego systemu. Samo oczyszczenie
postgres
pakietu nie wystarczy, ponieważ jest to tylko pusty meta-pakiet.Po usunięciu wszystkich pakietów PostgreSQL uruchom:
Powinieneś teraz być w stanie:
lub dla pełnej instalacji:
źródło
/etc/passwd
i/etc/group
na korzyść bezpieczniejszychuserdel
igroupdel
. Ponadto, zamiast używaćdselect
do ręcznego wyboru pakietów, użyj apt wildcard, aby niezawodnie je dopasować.pg_dropcluster
!! (Przykład Zastosowanie:pg_dropcluster --stop 9.1 main
)rm -r /var/log/postgresql
.Miałem podobną sytuację: musiałem wyczyścić postgresql 9.1 na wheezy Debiana (wcześniej migrowałem z wersji 8.4 i otrzymywałem błędy).
Co ja zrobiłem:
Najpierw usunąłem config i bazę danych
Następnie usunięto postgresql
a następnie ponownie zainstalowany
W moim przypadku zauważyłem, że /etc/postgresql/9.1 jest pusty, a uruchamianie
service postgresql start
nic nie zwróciłoWięc po kolejnym googlowaniu doszedłem do tego polecenia:
Dzięki temu mogłem uruchomić serwer, ale teraz otrzymywałem błędy związane z logami. Po dalszych poszukiwaniach skończyłem na zmianie uprawnień do katalogu / var / log / postgresql
To rozwiązało problem. Mam nadzieję, że to pomaga
źródło
Kroki, które działały dla mnie na
Ubuntu 8.04.2
usunięciepostgres 8.3
Wyświetl wszystkie pakiety związane z Postgres
Usuń wszystkie wyżej wymienione
Usuń następujące foldery
źródło
apt-get --purge remove postgresql\*
Wiem, że odpowiedź została już udzielona, ale dselect nie działało dla mnie. Oto, co działało, aby znaleźć pakiety do usunięcia:
Na koniec edycja / etc / passwd i / etc / group
źródło
wystarczy.
źródło
Postępując zgodnie z instrukcjami, które wykonałem, aby odinstalować i zainstalować ponownie. Która działała dla mnie.
Najpierw usuń zainstalowane postgres: -
Następnie zainstaluj „synaptic”:
Następnie zainstaluj postgres
źródło
Właśnie natrafiłem na ten sam problem z Ubuntu 13.04. Te polecenia usunęły Postgres 9.1:
Przyszło mi do głowy, że być może potrzebna jest tylko druga komenda, ale stamtąd mogłem zainstalować Postgres 9.2 (sudo apt-get install postgresql-9.2).
źródło
Śledziłem odpowiedzi, podczas edycji / etc / group usunąłem również ten wiersz:
wtedy, gdy próbuję zainstalować postgresql, dostałem ten błąd
Wydaje się, że ponowne umieszczenie wiersza „ssl-cert: x: 112: postgres” w pliku / etc / group (więc mogłem zainstalować postgresql)
źródło
/etc/passwd
. nigdy tego nie rób . Użyjuserdel
igroupdel
poleceń i nie będzie miał tego problemu w przyszłości.Ten sam problem miałem w moim Ubuntu 16.04
ale naprawiłem ten problem i jest to bardzo proste, wykonaj następujące czynności, a będziesz mógł zainstalować postgresql 10 w swoim systemie:
Dodaj to do swojej sources.list:
następnie dodaj te linki do pliku pgdg.list, jeśli go tam nie ma, musisz utworzyć && dodać link i& go zapisać.
następnie zaktualizuj system
i zainstaluj te niespełnione zależności:
Otóż to. teraz zainstaluj postgresql za pomocą tego polecenia
źródło