Vous n'êtes pas identifié(e).

#1 16/04/2012 18:19:34

sinfra
Membre

Installation postgresql-9.1 sur ubuntu hebergant postgresql-8.4

Bonjour,
J'aimerai installer la dernière version de postgresql sur mon serveur qui a déjà la version 8.4 sur ubuntu.
je veux garder les 2 version pour les tests,
j'ai vu cette solution ci-dessous sur internet, j'aimerai avoir votre suggestion avant de l'utiliser

---------------------------------------------------------------
first install python-software-properties:
sudo apt-get install python-software-properties

now add repository and update apt.
sudo add-apt-repository ppa:pitti/postgresql
sudo apt-get update

now instal postgresql
sudo apt-get install postgresql-9.1 libpq-dev

Now change the postgres user password (still running as root):
su postgres
psql -d postgres -U postgres
alter user postgres with password 'a';
\q
To install GUI client pgsql
sudo apt-get install pgadmin3
----------------------

Merci

Hors ligne

#2 16/04/2012 18:49:51

rjuju
Administrateur

Re : Installation postgresql-9.1 sur ubuntu hebergant postgresql-8.4

Bonjour,
la marche à suivre est la bonne.

Vous devriez également installer les packages postgresql-client-9.1 et postgresql-contrib-9.1

A noter que add-apt-repository ne rajoutera pas une ligne dans votre sources.list mais créera un sous répertoire sources.list.d avec 2 fichiers par dépôt ajouté via cette commande.

Veillez aussi à choisir un mot de passe pour l'utilisateur postgres en fonction de vos besoins (sans doute le même que celui de votre base en 8.4)

Edit: Je ne sais pas quelle est la configuration de base de postgresql sous ubuntu, donc il faut bien vous assurer que la commande psql pointe sur le nouveau serveur et pas sur l'ancien. Un select version(); vous affichera le détail de la version sur laquelle vous êtes connecté.

Dernière modification par rjuju (16/04/2012 18:52:18)

Hors ligne

#3 16/04/2012 20:18:30

sinfra
Membre

Re : Installation postgresql-9.1 sur ubuntu hebergant postgresql-8.4

salut,
je vous donne la procédure que j'ai faite.

apt-get install -y python-software-properties
sudo add-apt-repository ppa:pitti/postgresql
sudo apt-get update
apt-get install postgresql-9.1 libpq-dev postgresql-client-9.1 postgresql-client-9.1
------
et les logs apparus apres l'installation
Creating new cluster (configuration: /etc/postgresql/9.1/main, data: /var/lib/postgresql/9.1/main)...
Moving configuration file /var/lib/postgresql/9.1/main/postgresql.conf to /etc/postgresql/9.1/main...
Moving configuration file /var/lib/postgresql/9.1/main/pg_hba.conf to /etc/postgresql/9.1/main...
Moving configuration file /var/lib/postgresql/9.1/main/pg_ident.conf to /etc/postgresql/9.1/main...
Configuring postgresql.conf to use port 5433...
update-alternatives: using /usr/share/postgresql/9.1/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode.
* Starting PostgreSQL 9.1 database server
------------------------------------

lorsque je demare postgresql, jai ce message
root@db:~# su postgres
postgres@db:/root$ psql --version
could not change directory to "/root"
psql (PostgreSQL) 8.4.11
contains support for command-line editing
postgres@db:/root$ psql -p5433
could not change directory to "/root"
psql (8.4.11, server 9.1.3)
WARNING: psql version 8.4, server version 9.1.
         Some psql features might not work.
Type "help" for help.

postgres=# select version();
                                                   version                                                   
--------------------------------------------------------------------------------------------------------------
PostgreSQL 9.1.3 on x86_64-unknown-linux-gnu, compiled by gcc-4.4.real (Ubuntu 4.4.3-4ubuntu5) 4.4.3, 64-bit
(1 row)
--------------------------

que dois je faire pour corriger ce problème?
merci

Hors ligne

#4 16/04/2012 21:44:48

gleu
Administrateur

Re : Installation postgresql-9.1 sur ubuntu hebergant postgresql-8.4

Quel problème cherchez-vous à corriger ?


Guillaume.

Hors ligne

#5 16/04/2012 23:08:21

rjuju
Administrateur

Re : Installation postgresql-9.1 sur ubuntu hebergant postgresql-8.4

Je pense que vous parlez du warning lors de l'ouverture de psql.

Sur ubuntu, il y a une "surcouche" à postgres pour gérer les clusters, les versions concurrentes etc mais je n'ai jamais vraiment utilisé ces fonctionnalités.
Vous pouvez soit désinstaller votre package postgresql-client-8.4 qui ne devrait plus vous servir, ou regarder le script /usr/bin/psql et voir pourquoi c'est le binaire de la 8.4 qui est utilisé et non celui de la 9.1.

Dernière modification par rjuju (16/04/2012 23:09:19)

Hors ligne

#6 17/04/2012 02:44:29

dverite
Membre

Re : Installation postgresql-9.1 sur ubuntu hebergant postgresql-8.4

Les erreurs "could not change directory to /root" se résolvent en faisant
su - postgres au lieu de  su postgres


Le "WARNING: psql version 8.4, server version 9.1." est dû au fait que le cluster par défaut sur le système est 8.4/main
Pour se mettre dans l'environnement de la 9.1, les 2 solutions les plus simples sont:

1) ajouter un argument

psql --cluster 9.1/main ...

2) créer la variable d'environnement:

export PGCLUSTER=9.1/main

Il y a encore d'autres solutions avec des fichiers de config évoqués dans la doc en ligne  (faire man pg_wrapper)

Hors ligne

#7 24/04/2012 08:07:34

Alan2007
Membre

Re : Installation postgresql-9.1 sur ubuntu hebergant postgresql-8.4

g.gifMerci pour le partage

Hors ligne

#8 24/04/2012 17:46:52

sinfra
Membre

Re : Installation postgresql-9.1 sur ubuntu hebergant postgresql-8.4

Salut, ca marche bien la derniere slution.
mais j'ai un problème au niveau des variables locales, je mets les logs pour plus de details.

postgres@db:~$ su - postgres
postgres@db:~$ export PGCLUSTER=9.1/main
postgres@db:~$ psql postgres
psql (9.1.3)
Type "help" for help.

postgres=# CREATE DATABASE db_test
postgres-#  WITH OWNER = sinfra
postgres-#       ENCODING = 'UTF8'
postgres-#       TABLESPACE = pg_default
postgres-#       LC_COLLATE = 'en_US.UTF-8'
postgres-#       LC_CTYPE = 'en_US.UTF-8'
postgres-#       CONNECTION LIMIT = -1;
ERROR:  new collation (en_US.UTF-8) is incompatible with the collation of the template database (en_CA.UTF-8)
HINT:  Use the same collation as in the template database, or use template0 as template.

postgres=# \q
postgres@db:~$ export PGCLUSTER=8.4/main
postgres@db:~$ psql
psql (8.4.11)
Type "help" for help.

postgres=# CREATE DATABASE db_test WITH OWNER = sinfra
postgres-#       ENCODING = 'UTF8'
postgres-#       TABLESPACE = pg_default
postgres-#       LC_COLLATE = 'en_US.UTF-8'
postgres-#       LC_CTYPE = 'en_US.UTF-8'
postgres-#       CONNECTION LIMIT = -1;
LOG:  duration: 895.870 ms  statement: CREATE DATABASE db_test WITH OWNER = sinfra
      ENCODING = 'UTF8'
      TABLESPACE = pg_default
      LC_COLLATE = 'en_US.UTF-8'
      LC_CTYPE = 'en_US.UTF-8'
      CONNECTION LIMIT = -1;
CREATE DATABASE
----------------------------------------
quand, j'affiche mes variables locales
root@db:~# locale
LANG=en_CA.UTF-8
LANGUAGE=
LC_CTYPE="en_CA.UTF-8"
LC_NUMERIC="en_CA.UTF-8"
LC_TIME="en_CA.UTF-8"
LC_COLLATE="en_CA.UTF-8"
LC_MONETARY="en_CA.UTF-8"
LC_MESSAGES="en_CA.UTF-8"
LC_PAPER="en_CA.UTF-8"
LC_NAME="en_CA.UTF-8"
LC_ADDRESS="en_CA.UTF-8"
LC_TELEPHONE="en_CA.UTF-8"
LC_MEASUREMENT="en_CA.UTF-8"
LC_IDENTIFICATION="en_CA.UTF-8"
LC_ALL=
--------------------------
apparemment, il ya incompatibilité au niveau des variables locales qui marchait bien avec la versions 8.4, alors que la 9.1 n'admet pas.
quel conseils pour cela?
Merci

Hors ligne

#9 24/04/2012 20:34:30

sinfra
Membre

Re : Installation postgresql-9.1 sur ubuntu hebergant postgresql-8.4

Salut,
j'ai regle ce probleme en utilisant template0
CREATE DATABASE db_test
  WITH OWNER = sinfra
       ENCODING = 'UTF8'
       TABLESPACE = pg_default
       LC_COLLATE = 'en_CA.UTF-8'
       LC_CTYPE = 'en_CA.UTF-8'
       CONNECTION LIMIT = -1 TEMPLATE template0;

je fais d'autres tests, merci

Hors ligne

#10 25/04/2012 08:57:47

saigamp
Membre

Re : Installation postgresql-9.1 sur ubuntu hebergant postgresql-8.4

Je pense que c'est en utilisant
       LC_COLLATE = 'en_CA.UTF-8'
       LC_CTYPE = 'en_CA.UTF-8'
que la création a marché, pas grâce à l'utilisation de template0.
Essayez:

CREATE DATABASE db_test
  WITH OWNER = sinfra
       ENCODING = 'UTF8'
       TABLESPACE = pg_default
       LC_COLLATE = 'en_US.UTF-8'
       LC_CTYPE = 'en_US.UTF-8'
       CONNECTION LIMIT = -1 TEMPLATE template0;

et je pense que ça ne marchera pas.

Hors ligne

#11 25/04/2012 17:32:00

sinfra
Membre

Re : Installation postgresql-9.1 sur ubuntu hebergant postgresql-8.4

salut,
desole, c'est bien cette syntaxe qui marche

CREATE DATABASE db_test
  WITH OWNER = tc50
       ENCODING = 'UTF8'
       TABLESPACE = pg_default
       LC_COLLATE = 'en_US.UTF-8'
       LC_CTYPE = 'en_US.UTF-8'
       CONNECTION LIMIT = -1 TEMPLATE template0;
comme je l'ai dit, c'est bien avec l'utilisation de template0 que ca marche

Hors ligne

Pied de page des forums