Comment nettoiera et réinstaller postgresql sur ubuntu? [fermé]
-
02-10-2019 - |
Question
D'une certaine façon, je l'ai complètement réussi à bugger l'installation de postgresql sur Ubuntu karmique. Je veux recommencer à partir de zéro, mais quand je « purge » le paquet avec apt-get, il laisse encore des traces derrière de telle sorte que la configuration de réinstallation ne fonctionne pas correctement.
Après que je l'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 et "/ etc / postgresql-common /" a un répertoire 'pg_upgradecluser.d' et les fichiers root.crt et user_clusters.
Le fichier / etc / passwd a un utilisateur postgres; le script de purge ne semble pas toucher. Il y a eu un tas de symptômes que je travaille à travers seulement pour exposer la prochaine.
droite cette seconde, quand je lance cette commande « pg_createcluster ... » il se plaint que « /var/lib/postgresql/8.4/main/postgresql.conf n'existe pas », donc je vais trouver un de ces mais je suis sûr que ce ne sera pas la fin de celui-ci.
est-il pas un one-liner facile (ou deux) qui brûlera complètement et me laisser recommencer?
La solution
J'ai eu une situation similaire: je avais besoin de purge postgresql 9.1 sur un debian sifflante (j'avais déjà migré de 8,4 et je recevais des erreurs).
Qu'est-ce que je l'ai fait:
D'abord, je supprimé config et base de données
$ sudo pg_dropcluster --stop 9.1 main
Ensuite postgresql enlevé
$ sudo apt-get remove --purge postgresql postgresql-9.1
puis réinstallées
$ sudo apt-get install postgresql postgresql-9.1
Dans mon cas, je remarqué /etc/postgresql/9.1 était vide, et en cours d'exécution service postgresql start
rien retourné
Alors, après plus googler je suis arrivé à cette commande:
$ sudo pg_createcluster 9.1 main
Avec que je pouvais démarrer le serveur, mais maintenant je reçois des erreurs liées à journaux. Après plus la recherche, je fini par changer les autorisations dans le répertoire / var / log / postgresql
$ sudo chown root.postgres /var/log/postgresql
$ sudo chmod g+wx /var/log/postgresql
Ce résolu le problème, Hope this helps
Autres conseils
Option A
Si votre installation est pas déjà endommagé, vous pouvez déposer des serveurs PostgreSQL indésirables ( « clusters ») à l'aide pg_dropcluster
. Utilisez que de préférence à une purge complète et réinstallation si vous voulez juste redémarrer avec une nouvelle instance de PostgreSQL.
$ 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
Si vous avez vraiment besoin de faire une purge complète et réinstallation, assurez-vous de PostgreSQL ne fonctionne pas. ps -C postgres
doit montrer aucun résultat.
Maintenant exécutez:
apt-get --purge remove postgresql\*
pour supprimer tous les PostgreSQL de votre système. purge juste le paquet postgres
ne suffit pas, car il est juste un méta-paquet vide.
Une fois que tous les paquets PostgreSQL ont été supprimés, exécutez:
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
Les étapes qui ont travaillé pour moi sur Ubuntu 8.04.2
pour supprimer postgres 8.3
-
Tous Les Postgres paquets associés
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 tous énumérés 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/
Je sais 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 pour 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, l'édition / etc / passwd et / etc / group
apt-get purge postgresql*
suffit.
Après les étapes ae j'ai suivi pour désinstaller et réinstaller. Ce qui a fonctionné pour moi.
d'abord supprimer les postgres installés: -
sudo apt-get purge postgr *
sudo apt-get autoremove
Ensuite, installez 'synaptique':
sudo apt-get install synaptique
sudo apt-get update
Installez ensuite postgres
sudo apt-get install postgresql-contrib postgresql
Je viens de croiser le même problème pour Ubuntu 13.04. Ces commandes supprimées Postgres 9.1:
sudo apt-get purge postgresql
sudo apt-get autoremove postgresql
Il me semble que peut-être seulement la deuxième commande est nécessaire, mais à partir de là j'ai pu install Postgres 9.2 (sudo postgresql-9.2 apt-get install).
je suivais les réponses, Lors de l'édition / etc / groupe I a également supprimé cette ligne:
ssl-cert:x:112:postgres
puis, en essayant d'installer postgresql, je suis arrivé 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" retour de ligne dans / etc / groupe semble fixer (donc je suis en mesure d'installer postgresql)
Je faisais face même problème dans mon ubuntu 16,04
mais je fixe ce problème et il est très simple il suffit de suivre ces étapes et vous serez en mesure d'installer postgresql 10 dans votre système:
Ajouter à votre 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
après les ajouter un lien vers votre fichier pgdg.list si ce n'est pas là, vous devez créer && ajouter un lien && enregistrez-le.
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 mettez à jour votre système
sudo apt-get update
sudo apt-get upgrade
et installer que des dépendances non satisfaites:
apt-get install ssl-cert
c'est tout. Installez maintenant postgresql en utilisant ces commandes
sudo apt-get install postgresql-10