Wie gründlich reinigen und wieder installieren postgresql auf Ubuntu? [geschlossen]
-
02-10-2019 - |
Frage
Irgendwie habe ich völlig geschafft bugger die Installation von postgresql auf Ubuntu karmischen. Ich möchte von Grund auf neu beginnen, aber wenn ich „Säuberung“ das Paket mit noch Blätter Spuren hinter solchen apt-get, dass die erneute Installation Konfiguration läuft nicht richtig.
Nachdem ich getan habe:
apt-get purge postgresql
apt-get install postgresql
Es wird gesagt,
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) ...
Ich habe eine "/ etc / postgresql" mit nichts drin und "/ etc / postgresql-common /" hat ein 'pg_upgradecluser.d' Verzeichnis und root.crt und user_clusters Dateien.
Die Datei / etc / passwd hat einen Postgres Benutzer; das Reinigungs Skript nicht angezeigt, es zu berühren. Es gibt eine Reihe von Symptomen gewesen, die ich durch nur arbeiten, um die nächsten zu belichten.
Right diese zweite, wenn ich diesen Befehl ausführen „pg_createcluster ...“, klagt er, dass ‚/var/lib/postgresql/8.4/main/postgresql.conf nicht existiert‘, so dass ich einen von denen finden würde gehen aber ich bin sicher, dass nicht das Ende wird es sein.
Gibt es nicht einige einfache Einzeiler (oder zwei), die es vollständig verbrennen und lassen Sie mich von vorne anfangen?
Lösung
hatte ich eine ähnliche Situation: Ich Säuberung postgresql benötigen 9.1 auf einem Debian sid (I zuvor von 8,4 gewandert war, und ich war immer Fehler).
Was ich getan habe:
Zuerst habe ich gelöscht config und Datenbank
$ sudo pg_dropcluster --stop 9.1 main
Dann entfernte postgresql
$ sudo apt-get remove --purge postgresql postgresql-9.1
und dann neu installiert
$ sudo apt-get install postgresql postgresql-9.1
In meinem Fall habe ich bemerkt /etc/postgresql/9.1 war leer, und service postgresql start
zurück nichts läuft
Also, nach mehr googeln ich auf diesen Befehl bekam:
$ sudo pg_createcluster 9.1 main
Damit ich den Server starten konnte, aber jetzt war ich log-Fehlern zu bekommen. Nach mehr Suchens, landete ich Berechtigungen in das Verzeichnis / var / log / postgresql Verzeichnis wechseln up
$ sudo chown root.postgres /var/log/postgresql
$ sudo chmod g+wx /var/log/postgresql
Dass das Problem behebt, Hoffnung, das hilft
Andere Tipps
Option A
Wenn Du ist das Gerät nicht bereits beschädigt ist, können Sie unerwünschten PostgreSQL-Server fallen ( „Cluster“) pg_dropcluster
verwenden. Verwenden Sie, dass in dem Vorzug eine vollständige Säuberung und wieder installieren, wenn Sie nur mit einer frischen PostgreSQL-Instanz neu gestartet werden sollen.
$ pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
11 main 5432 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log
$ sudo systemctl stop postgresql@11-main
$ sudo pg_dropcluster --stop 11 main
$ sudo pg_createcluster --start 11 main
Option B
Wenn Sie wirklich eine vollständige Säuberung und erneut installieren müssen tun, zuerst sicherstellen, dass PostgreSQL nicht ausgeführt wird. ps -C postgres
sollte keine Ergebnisse zeigen.
Jetzt laufen:
apt-get --purge remove postgresql\*
alles PostgreSQL von Ihrem System zu entfernen. das postgres
Paket nur Spülen nicht genug ist, da es nur ein leeres Meta-Paket.
Wenn alle PostgreSQL-Pakete entfernt wurden, führen Sie:
rm -r /etc/postgresql/
rm -r /etc/postgresql-common/
rm -r /var/lib/postgresql/
userdel -r postgres
groupdel postgres
Sie sollten nun in der Lage sein:
apt-get install postgresql
oder für eine komplette installieren:
apt-get install postgresql-8.4 postgresql-contrib-8.4 postgresql-doc-8.4
Die Schritte, die für mich auf arbeiten Ubuntu 8.04.2
entfernen postgres 8.3
-
Alle US Postgres verwandte Pakete
dpkg -l | grep postgres ii postgresql 8.3.17-0ubuntu0.8.04.1 object-relational SQL database (latest versi ii postgresql-8.3 8.3.9-0ubuntu8.04 object-relational SQL database, version 8.3 ii postgresql-client 8.3.9-0ubuntu8.04 front-end programs for PostgreSQL (latest ve ii postgresql-client-8.3 8.3.9-0ubuntu8.04 front-end programs for PostgreSQL 8.3 ii postgresql-client-common 87ubuntu2 manager for multiple PostgreSQL client versi ii postgresql-common 87ubuntu2 PostgreSQL database-cluster manager ii postgresql-contrib 8.3.9-0ubuntu8.04 additional facilities for PostgreSQL (latest ii postgresql-contrib-8.3 8.3.9-0ubuntu8.04 additional facilities for PostgreSQL
-
Entfernen Sie alle oben aufgeführten
sudo apt-get --purge remove postgresql postgresql-8.3 postgresql-client postgresql-client-8.3 postgresql-client-common postgresql-common postgresql-contrib postgresql-contrib-8.3
-
Entfernen Sie den folgenden Ordner
sudo rm -rf /var/lib/postgresql/ sudo rm -rf /var/log/postgresql/ sudo rm -rf /etc/postgresql/
Ich weiß eine Antwort bereits zur Verfügung gestellt worden, aber dselect nicht für mich arbeiten. Hier ist, was daran gearbeitet, die Pakete zu entfernen zu finden:
# search postgr | grep ^i
i postgresql - object-relational SQL database (supported
i A postgresql-8.4 - object-relational SQL database, version 8.
i A postgresql-client-8.4 - front-end programs for PostgreSQL 8.4
i A postgresql-client-common - manager for multiple PostgreSQL client ver
i A postgresql-common - PostgreSQL database-cluster manager
# aptitude purge postgresql-8.4 postgresql-client-8.4 postgresql-client-common postgresql-common postgresql
rm -r /etc/postgresql/
rm -r /etc/postgresql-common/
rm -r /var/lib/postgresql/
Schließlich Bearbeiten von / etc / passwd und / etc / group
apt-get purge postgresql*
ist genug.
Nach ae den Schritten gefolgt i deinstallieren und erneut installieren. Welches ist für mich.
Entfernen Sie zuerst die installierten Postgres: -
sudo apt-get purge Postgrad *
sudo apt-get autoremove
Dann installieren 'synaptic':
sudo apt-get install synaptic
sudo apt-get update
Dann installieren Postgres
sudo apt-get install postgresql postgresql-contrib
Ich lief in das gleiche Problem für Ubuntu 13.04. Diese Befehle entfernt Postgres 9.1:
sudo apt-get purge postgresql
sudo apt-get autoremove postgresql
Es kommt zu mir, dass vielleicht nur der zweite Befehl notwendig ist, aber von dort konnte ich Postgres 9.2 (sudo apt-get install postgresql-9.2) installieren.
Ich habe die Antworten folgen, Bei der Bearbeitung von / etc / group Ich löschte auch diese Zeile:
ssl-cert:x:112:postgres
dann, wenn postgresql zu installieren versucht, ich habe diesen Fehler
Preconfiguring packages ...
dpkg: unrecoverable fatal error, aborting:
syntax error: unknown group 'ssl-cert' in statoverride file
E: Sub-process /usr/bin/dpkg returned an error code (2)
Inbetriebnahme des "ssl-cert: x: 112: Postgres" Linie zurück in / etc / group, es zu beheben scheint (so konnte ich postgresql installieren)
Ich war mit Blick auf gleiches Problem in meinem ubuntu 16.04
, aber ich festgelegt, dieses Problem und es ist sehr einfach, nur diesem Schritt folgen und Sie werden in der Lage postgresql 10 in dem System zu installieren:
Fügen Sie diese auf Ihren sources.list:
sudo vim /etc/apt/sources.list
deb http://ftp.de.debian.org/debian/ wheezy main non-free contrib
deb-src http://ftp.de.debian.org/debian/ wheezy main non-free contrib
danach diesen Link zu Ihrer pgdg.list Datei hinzufügen, wenn es nicht gibt, müssen Sie erstellen && Link hinzufügen && speichert es.
sudo vim /etc/apt/sources.list.d/pgdg.list
deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main
deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main
dann aktualisieren Ihr System
sudo apt-get update
sudo apt-get upgrade
und installiert, die unerfüllten Abhängigkeiten:
apt-get install ssl-cert
, die es ist. Installieren Sie postgresql nun unter Verwendung dieses Befehls
sudo apt-get install postgresql-10