Comment bien purger et réinstaller postgresql sur ubuntu? [fermé]
D'une façon ou d'une autre j'ai réussi à complètement bousiller l'installation de postgresql sur Ubuntu karmic. Je veux recommencer à zéro, mais quand je" purge " le paquet avec apt-get, il laisse encore des traces telles que la configuration de la réinstallation ne fonctionne pas correctement.
Après que j'ai fait:
apt-get purge postgresql
apt-get install postgresql
Il a dit
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) ...
j'ai un "/etc/postgresql" avec rien dedans et "/etc/postgresql-common/" a une "pg_upgradecluser.d' répertoire de racine et de.crt et user_clusters.
le fichier /etc/passwd a un utilisateur postgres; le script de purge ne semble pas le toucher. Il y a eu un tas de symptômes que je ne fais qu'exposer le prochain.
à cette seconde, quand j'exécute la commande "pg_createcluster..."il se plaint que" /var/lib/postgresql/8.4/main/postgresql.conf n'existe pas", donc je vais en trouver un mais je suis sûr que ce ne sera pas la fin de il.
n'y a-t-il pas une doublure facile (ou deux) qui la brûlera complètement et me laissera recommencer?
9 réponses
tout d'abord: si votre installation n'est pas déjà endommagée, vous pouvez déposer des serveurs PostgreSQL indésirables ("clusters") dans Ubuntu en utilisant pg_dropcluster
. Utilisez cela de préférence à une purge complète et réinstaller si vous voulez juste commencer avec une nouvelle instance initdb
'd PostgreSQL.
si vous avez vraiment besoin de faire une purge complète et réinstaller, assurez-vous D'abord que PostgreSQL n'est pas en cours d'exécution. ps -C postgres
ne doit pas montrer de résultats.
exécuter:
apt-get --purge remove postgresql\*
pour supprimer tout PostgreSQL de votre système. Il ne suffit pas de purger le paquet postgres
car il ne s'agit que d'un méta-paquet vide.
une fois que tous les paquets PostgreSQL ont été supprimés, exécuter:
rm -r /etc/postgresql/
rm -r /etc/postgresql-common/
rm -r /var/lib/postgresql/
userdel -r postgres
groupdel postgres
Vous devriez maintenant être en mesure de:
apt-get install postgresql
ou pour une installation complète:
apt-get install postgresql-8.4 postgresql-contrib-8.4 postgresql-doc-8.4
j'ai eu une situation similaire: j'avais besoin de purger postgresql 9.1 sur une wheezy debian ( j'avais déjà migré à partir de 8.4 et je recevais des erreurs ).
ce que j'ai fait:
tout d'abord, j'ai supprimé config et base de données
$ sudo pg_dropcluster --stop 9.1 main
puis supprimé postgresql
$ sudo apt-get remove --purge postgresql postgresql-9.1
puis réinstallé
$ sudo apt-get install postgresql postgresql-9.1
dans mon cas, j'ai remarqué que /etc / postgresql / 9.1 était vide, et que service postgresql start
rien retourné
donc, après plus de googling j'ai obtenu cette commande:
$ sudo pg_createcluster 9.1 main
avec cela je pouvais démarrer le serveur, mais maintenant je recevais des erreurs liées à la journalisation. Après plus de recherches, j'ai fini par changer les permissions dans le répertoire /var/log/postgresql
$ sudo chown root.postgres /var/log/postgresql
$ sudo chmod g+wx /var/log/postgresql
Qui a résolu le problème, Espérons que cette aide
je sais qu'une réponse a déjà été fournie, mais dselect n'a pas fonctionné pour moi. Voici ce qui a fonctionné pour trouver les paquets à supprimer:
# 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/
enfin, édition / etc / passwd et/etc / group
Étapes qui a fonctionné pour moi sur Ubuntu 8.04.2
à supprimer postgres 8.3
-
Liste de Tous les Postgres paquets
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
-
supprimer toutes les mentions ci-dessus
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
-
supprimer les dossiers suivants
sudo rm -rf /var/lib/postgresql/ sudo rm -rf /var/log/postgresql/ sudo rm -rf /etc/postgresql/
suivant ae les étapes que j'ai suivies pour désinstaller et réinstaller. Ce qui a fonctionné pour moi.
enlever D'abord les poteaux installés: -
sudo apt-get purge postgr*
sudo apt-get autoremove
puis installer "synaptic":
sudo apt-get install synaptic
sudo apt-get update
puis installer postgres
sudo apt-get install postgresql postgresql-contrib
je viens de tomber sur le même numéro Pour Ubuntu 13.04. Ces commandes ont supprimé Postgres 9.1:
sudo apt-get purge postgresql
sudo apt-get autoremove postgresql
il me semble que peut-être seule la seconde commande est nécessaire, mais de là j'ai pu installer Postgres 9.2 (sudo apt-get install postgresql-9.2).
je suivais les réponses, Lors de l'édition de / etc / group I a également supprimé cette ligne:
ssl-cert:x:112:postgres
alors, en essayant d'installer postgresql, j'ai eu cette erreur
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)
Mettre le "ssl-cert:x:112:postgres" ligne de retour dans /etc/group semble pour le fixer (j'ai donc été en mesure d'installer postgresql)
je faisais face au même problème dans mon ubuntu 16.04
mais j'ai corrigé ce problème et c'est très simple il suffit de suivre cette étape et vous serez en mesure d'installer postgresql 10 dans votre système:
ajoutez ceci à vos sources.liste:
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
après cela, ajoutez ce lien à votre pgdg.liste Fichier si ce n'est pas là, vous devez créer & & Ajouter lien & & enregistrer.
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
puis mettre à jour votre système
sudo apt-get update
sudo apt-get upgrade
et installer les dépendances non satisfaites:
apt-get install ssl-cert
c'est ça. maintenant, installez postgresql en utilisant la commande
sudo apt-get install postgresql-10