Comment purger et réinstaller postgresql sur Ubuntu?

D’une manière ou d’une autre, j’ai réussi à complètement installer l’installation de postgresql sur Ubuntu karmic. Je veux recommencer à zéro, mais quand je “purge” le paquet avec apt-get, il laisse toujours des traces telles que la configuration de la réinstallation ne fonctionne pas correctement.

Après avoir fait:

apt-get purge postgresql apt-get install postgresql 

Ça disait

 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” sans rien et “/ etc / postgresql-common /” a un répertoire “pg_upgradecluser.d” et des fichiers root.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 sur lesquels je ne travaille que pour exposer la suivante.

Juste 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 en trouver un mais je ‘ Je suis sûr que ce ne sera pas la fin.

N’y a-t-il pas un simple traceur (ou deux) qui le brûle complètement et me laisse recommencer?

Tout d’abord: si votre installation n’est pas déjà endommagée, vous pouvez supprimer les serveurs PostgreSQL indésirables (“clusters”) dans Ubuntu en utilisant pg_dropcluster . Utilisez-le de préférence à une purge complète et réinstallez-le si vous souhaitez simplement commencer par une initdb ‘fraîchement initdb .

Si vous devez vraiment effectuer une purge complète et la réinstaller, assurez-vous d’abord que PostgreSQL ™ ne fonctionne pas. ps -C postgres ne devrait montrer aucun résultat.

Maintenant, lancez:

 apt-get --purge remove postgresql\* 

supprimer tout ce que PostgreSQL ™ peut contenir de votre système. Il ne suffit pas de purger le paquet postgres car ce n’est qu’un méta-paquet vide.

Une fois tous les packages PostgreSQL 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 pouvoir:

 apt-get install postgresql 

ou pour une installation complète:

 apt-get install postgresql-8.4 postgresql-consortingb-8.4 postgresql-doc-8.4 

J’avais une situation similaire: j’avais besoin de purger postgresql 9.1 sur un wheezy debian (j’avais déjà migré depuis 8.4 et j’avais des erreurs).

Ce que j’ai fait:

Tout d’abord, j’ai supprimé la configuration et la firebase database

 $ sudo pg_dropcluster --stop 9.1 main 

Puis enlevé 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 le service postgresql start ne renvoyait rien

Donc, après plus de recherche sur Google, je suis arrivé à cette commande:

 $ sudo pg_createcluster 9.1 main 

Avec cela, je pouvais démarrer le serveur, mais maintenant je recevais des erreurs liées aux journaux. Après plus de recherche, j’ai fini par changer les permissions sur le répertoire / var / log / postgresql

 $ sudo chown root.postgres /var/log/postgresql $ sudo chmod g+wx /var/log/postgresql 

Cela a résolu le problème, j’espère que cela 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, éditer / etc / passwd et / etc / group

Étapes qui ont fonctionné pour moi sur Ubuntu 8.04.2 pour supprimer postgres 8.3

  1. Liste de tous les paquets liés à Postgres

     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-consortingb 8.3.9-0ubuntu8.04 additional facilities for PostgreSQL (latest ii postgresql-consortingb-8.3 8.3.9-0ubuntu8.04 additional facilities for PostgreSQL 
  2. Supprimer tous les listés ci-dessus

     sudo apt-get --purge remove postgresql postgresql-8.3 postgresql-client postgresql-client-8.3 postgresql-client-common postgresql-common postgresql-consortingb postgresql-consortingb-8.3 
  3. Supprimer les dossiers suivants

     sudo rm -rf /var/lib/postgresql/ sudo rm -rf /var/log/postgresql/ sudo rm -rf /etc/postgresql/ 
 apt-get purge postgresql* 

est assez.

Après les étapes que j’ai suivies pour désinstaller et réinstaller. Ce qui a fonctionné pour moi

Supprimez d’abord les postgres installés: –

sudo apt-get purge postgr *

sudo apt-get autoremove

Puis installez ‘synaptic’:

sudo apt-get install synaptic

sudo apt-get update

Ensuite, installez postgres

sudo apt-get installer postgresql postgresql-consortingb

Je viens de rencontrer le même problème pour Ubuntu 13.04. Ces commandes ont supprimé Postgres 9.1:

 sudo apt-get purge postgresql sudo apt-get autoremove postgresql 

Il m’est apparu que peut-être seule la deuxième commande est nécessaire, mais à partir 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, j’ai é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) 

Placer la ligne “ssl-cert: x: 112: postgres” dans / etc / group semble le réparer (j’ai donc pu installer postgresql)

Je faisais face au même problème dans mon ubuntu 16.04

mais j’ai résolu ce problème et il est très simple de suivre ces étapes et vous pourrez installer postgresql 10 dans votre système:

Ajoutez ceci à vos sources.list:

 sudo vim /etc/apt/sources.list deb http://ftp.de.debian.org/debian/ wheezy main non-free consortingb deb-src http://ftp.de.debian.org/debian/ wheezy main non-free consortingb 

Après cela, ajoutez ces liens à votre fichier pgdg.list si ce n’est pas le cas, vous devez créer && add link && save it.

 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 les 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