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?

Était-ce utile?

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

  1. 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
    
  2. 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
    
  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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top