2012-05-21 2 views
2

J'ai installé OpenSUSE 12.1 installé sur la machine. J'ai un postgresql-contrib-8.3.11-0.1. 8.3.11-0.1.i586.rpm, postgresql-server-8.3.11-0.1.i586.rpm .. Je veux installer la version postgresql 8.3 basée sur les paquets ci-dessus .. mais quand j'ai installé avec cette commande. Erreur.Version Postgresql 8.3 nécessaire pour OpenSUSE

opnsu121:/# rpm -Uvh postgresql-server-8.3.11-0.1.i586.rpm erreur: Échec des dépendances: postgresql = 8.3 est nécessaire par postgresql-server-8.3.11-0.1.i586

Même je ne suis pas en mesure de trouver postgresql version 8.3 de base que je pense que celui ci-dessus est update.i sont allés throgh le download.openSUSE.orf, ftp.openSUSE.org .. http://download.opensuse.org/update/11.0/rpm/i586/ .. mais pas en mesure pour trouver ce que j'ai besoin .. s'il vous plaît aider à ce sujet,

+0

Pourquoi? Il semble que OpenSUSE 12.1 soit livré avec Pg 9.1.1. Pourquoi installer 9.3? Essayez-vous de résoudre un problème de compatibilité? Si oui, peut-être poster des détails? Pour les anciennes versions, il est souvent plus facile de simplement les compiler à partir du code source. –

+0

Um, je voulais dire "pourquoi installer 8.3", il n'y a pas encore de 9.3. Voir la réponse postée pour des suggestions. –

+0

Notez également que les packages que vous essayez d'installer ne sont pas seulement une ancienne version majeure, mais aussi des versions de correctifs. Le 8.3 actuel est 8.3.18 et vous essayez d'installer 8.3.11. Il vous manquerait beaucoup de corrections de bogues si vous utilisiez le 8.3.11. –

Répondre

1

tour de piste ... J'ai la réponse .. j'ai le paquet ci-dessous: postgresql-contrib-8.3.11-0.1.i586.rpm, postgresql-devel-8.3.11-0.1.i586.rpm , postgresql-docs-8.3.11-0.1.i586.rpm, postgresql-libs-8.3.11-0.1.i586.rpm, postgresql-server-8.3.11-0.1.i586.rpm à partir du lien ci-dessous: http://download.opensuse.org/update/12.1/i586/

et un paquet plus que j'ai eu du mal à obtenir est:

postgresql-8.3.11-0.1.i586.rpm avec le lien suivant:

http://rpm.pbone.net/index.php3/stat/4/idpl/17194424/dir/opensuse_11.x/com/postgresql-8.3.11-0.1.i586.rpm.html

avec tous les paquets ci-dessus j'ai installés à l'aide .. rpm -ivh packagename s'il y a une dépendance alors rpm -ivh --nodeps packageN amme

great..its fait ..

+0

C'est fait POUR MAINTENANT. La prochaine fois que le client essaie de mettre à jour son serveur avec YaST, la mise à jour peut échouer. La prochaine fois qu'ils essaieront de le mettre à niveau vers une nouvelle version, la mise à niveau risque d'échouer. C'est dangereux et carrément horrible. N'utilisez pas --nodeps. Vous devez installer les packages EnterpriseDB ou le build à partir de la source, sans forcer les RPM d'une ancienne version à s'installer de façon non sécurisée. –

4

Si possible, utilisez YaST ou quel que soit le gestionnaire de paquets utilisé par SuSE pour installer la version actuelle de PostgreSQL. De the repository, on dirait que c'est 9.1.1.

Si vous avez spécifiquement besoin de PostgreSQL 8.3, je vous recommande d'utiliser le distro-independent installer from EnterpriseDB. Cela devrait fonctionner correctement sur SuSE 12.2. Si votre organisation a des politiques de version particulièrement restrictives et dangereuses qui vous obligent à utiliser les anciennes versions avec des bogues connus, vous pouvez obtenir la version 8.3.14 pour Linux 32 bits here et la version 8.3.11 pour Linux 32 bits here.

Si vous avez des problèmes avec l'utilisation des versions binaires d'installation binaire EnterpriseDB de PostgreSQL, votre autre option (et une bonne) est d'installer à partir du code source. Télécharger le PostgreSQL 8.3.18 sources du FTP site, puis:

sudo mkdir -p /opt/postgresql93 
sudo chown `id -un` /opt/postgresql93 
./configure --prefix=/opt/postgresql93 
make 
make install 

après quoi vous pouvez utiliser /opt/postgresql93/bin/initdb (voir initdb manual) pour créer une base de données et /opt/postgresql93/bin/pg_ctl (voir pg_ctl manual) pour démarrer/arrêter, selon le PostgreSQL documentation.

N'essayez pas de forcer des paquets d'une ancienne version de SuSE à installer sur votre nouvelle version. Cela entraînera probablement un arbre croissant de dépendances et se terminera dans la douleur. Dans la mesure du possible, essayez de convaincre votre entreprise que sa politique exigeant une version mineure (par exemple 8.4.14 et pas seulement "8.4.x") de PostgreSQL est dangereuse et contre-productive. Ils vous forcent à faire des hacks sales ou à compiler à la main des installations uniques et personnalisées juste pour votre installation afin de évitez d'utiliser des builds bien testés qui contiennent des corrections de bogues supplémentaires. Exiger une approbation avant de passer de la version 8.3 à la version 8.4/9.0/9.1/etc est logique car il existe des modifications de fonctionnalités et de rétrocompatibilité nécessitant un test minutieux, mais nécessitant une approbation avant la mise à niveau de 8.3.14 à 8.3.18 est contre-productive. Mises à jour mineures de PostgreSQL are very conservative; vous devriez rester à jour avec la dernière version mineure.

Questions connexes