PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 10/07/2009 14:09:57

kleberscow
Membre

Installation PostgreSQL mode Portable

Bonjour,

Exise-t-il une version portable de PostgreSQL ?
Je souhaite, en effet, installer PostgreSQL sur une clé USB et l'exploiter sur le PC qui sera à ma disposition.

Cordialement,

Kleberscow

Hors ligne

#2 10/07/2009 17:38:25

Marc Cousin
Membre

Re : Installation PostgreSQL mode Portable

Il n'y a pas vraiment de 'distribution portable'.
On peut toutefois mettre les binaires et une base sur une clé, avec un script pour démarrer l'ensemble. Pour quel OS, déjà ... ?
Par ailleurs, il faudra certainement remplacer le système de fichiers : PostgreSQL a besoin de pouvoir créer des liens dans le système de fichiers, ce qui exclut la FAT.


Marc.

Hors ligne

#3 10/07/2009 23:23:21

kleberscow
Membre

Re : Installation PostgreSQL mode Portable

Ce serait pour Windows (XP principalement).

Hors ligne

#4 11/07/2009 12:36:34

gleu
Administrateur

Re : Installation PostgreSQL mode Portable

Avec Windows XP, il faut déjà formater la clé avec un système NTFS. Et ensuite, il faudra initialiser le cluster PostgreSQL sur cette clé. Évidemment, ça ne fonctionnera que sur du 32 bits (si la machine à partir duquel est créé le cluster est en 32 bits). Et je ne suis pas sûr que ça ne posera pas de soucis avec les DLL. Bref, bon courage smile


Guillaume.

Hors ligne

#5 12/07/2009 08:31:39

Marc Cousin
Membre

Re : Installation PostgreSQL mode Portable

Je l'ai déjà fait pour Windows (il y a 2 ou 3 ans), ça s'était assez bien passé. Mais il ne faut pas passer par l'installer windows, mais par la version zippée, et évidemment faire un script plutôt qu'un service. Ensuite, effectivement, le faire en 32 bits. Mais ça devrait aussi fonctionner sur un windows 64 bits avec un binaire 32 bits.


Marc.

Hors ligne

#6 13/07/2009 11:10:48

kleberscow
Membre

Re : Installation PostgreSQL mode Portable

Merci de vos réponses.

Ceci dit, j'ai deux nouvelles interrogations.

- Pas de FAT32 pour PostgreSQL
Si j'ai bien compris le pourquoi, c'est du à 2 points : Service non installé et fiabilité de PostgreSQL. Mais dans l'absolu, c'est malgré tout possible (bien que tres fortement déconseillé) ?

- Le terme Cluster
Je suis loin de maîtriser les bases de données et encore moins les termes rattachés.
Le cluster (ou plus précisement le clustering) permet le basculement d'une machine tombant en rade sur une machine backup).
Ici la notion semble différente. J'ai parcouru la documentation PG83.pdf et il en sort cette définition :
Un cluster est un ensemble de bases de données stocké à un même emplacement dans le système de fichiers (le « répertoire des données »).
Si je comprends bien, la notion de cluster est lié un répertoire de donnée (le répertoire DATA ?) dans lequel sont mis les différentes base de donnéé du même serveur (dans mon cas Localhost car mon postgresql sera nomade). Ai-je bien compris ?

Sinon, la notion "portable", beaucoup le demande en fait.
J'ai trouvé un site qui propose un solution (que je n'ai pas encore réussi a faire foncitonner donc prudence) :http://greg.webhop.net/postgresql_portable/

Hors ligne

#7 13/07/2009 13:05:24

Marc Cousin
Membre

Re : Installation PostgreSQL mode Portable

FAT32 : non, c'est parce que postgresql a besoin de pouvoir créer des liens symboliques, ce qui est impossible en FAT 32.
Pour le cluster, oui, c'est bien cela.


Marc.

Hors ligne

#8 13/07/2009 13:53:32

gleu
Administrateur

Re : Installation PostgreSQL mode Portable

Je ne crois pas qu'on est dit ou laissé entendre que personne ne voulait de cette utilisation. Juste que PostgreSQL ait clairement conçu pour une utilisation qui est pratiquement à l'extrême opposé d'une utilisation portable (portable dans ton contexte, ie sur une clé USB).


Guillaume.

Hors ligne

#9 13/07/2009 14:05:57

kleberscow
Membre

Re : Installation PostgreSQL mode Portable

gleu a écrit :

Je ne crois pas qu'on est dit ou laissé entendre que personne ne voulait de cette utilisation. Juste que PostgreSQL ait clairement conçu pour une utilisation qui est pratiquement à l'extrême opposé d'une utilisation portable (portable dans ton contexte, ie sur une clé USB).

Je voulais dire juste que certains se sont posés la question et qu'un essai de portabilité clé en main est proposé. big_smile.

Ceci dit, je vais partir de zero car :
   - Je comprendrais surement mieux PostgreSQL
   - j'enlèverai ma dépendance à PGadmin.

Donc je viens de récupérer "postgresql-8.3.7-1-binaries-no-installer.zip" de windows et je me lance.

Ce qui amène ma première question

E:\PG837\pgsql\bin>postgres.exe start
L'exécution du serveur PostgreSQL par un utilisateur doté de droits d'administrateur n'est pas permise.
Le serveur doit être lancé avec un utilisateur non privilégié pour empêcher tout problème de sécurité sur le serveur. Voir la documentation pour
plus d'informations sur le lancement propre du serveur.

Pour avancer, j'ai regardé les commandes linux de lancement PostgreSQL  et il semble que PostgreSQL start suffit.
J'ai donc lancé (bêtement, il est vrai) "postgres.exe start" et j'obtiens le message ci-dessus.
Dans un sens, c'est logique car le setup d'une installation standard demande un la création d'un utilisateur privilégié "PostgreSQL".
Mais la, je ne dois pas être dépendant d'un compte Windows.
Une idée pour m'aiguiller ?

EDIT : en fait il faut que je lance "PG_CTL.exe start --pgdata ..\data". Maintenant il fau remplir le répertoire data, des fichiers nécessaires (je suis en cours)

Dernière modification par kleberscow (13/07/2009 16:15:49)

Hors ligne

#10 13/07/2009 16:24:00

gleu
Administrateur

Re : Installation PostgreSQL mode Portable

Tu ne pourras pas exécuter PostgreSQL en tant qu'administrateur. Tu dois utiliser un compte standard, sans privilège. pg_ctl est en effet le programme qui te permet de démarrer, mais il faut d'abord avoir les fichier tels qu'ils sont initialisés par initdb.


Guillaume.

Hors ligne

#11 13/07/2009 16:33:57

kleberscow
Membre

Re : Installation PostgreSQL mode Portable

oui, je viens juste de le comprendre !

E:\PG837\pgsql\bin>initdb.exe -D ..\data
Les fichiers de ce cluster appartiendront à l'utilisateur « xxxxx ».
Le processus serveur doit également lui appartenir.

Le cluster sera initialisé avec la locale French_France.1252.
L'encodage par défaut des bases de données a été configuré en conséquence
avec WIN1252.
La configuration de la recherche plein texte a été initialisée à « french ».

correction des droits sur le répertoire existant ../data... ok
création des sous-répertoires... ok
sélection de la valeur par défaut de max_connections... 100
sélection des valeurs par défaut de shared_buffers/max_fsm_pages... 32MB/204800
création des fichiers de configuration... ok
création de la base de données template1 dans ../data/base/1... ok
initialisation de pg_authid... ok
initialisation des dépendances... ok
création des vues système... ok
chargement de la description des objets système... ok
création des conversions... ok
création des dictionnaires... ok
initialisation des droits sur les objets internes... ok
création du schéma d'informations... ok
lancement du vacuum sur la base de données template1... ok
copie de template1 vers template0... ok
copie de template1 vers postgres... ok

ATTENTION : active l'authentification « trust » pour les connexions
locales.
Vous pouvez modifier ceci en éditant pg_hba.conf ou en utilisant l'option -A
au prochain lancement d'initdb.

Succès. Vous pouvez maintenant lancer le serveur de bases de données par :

    "postgres" -D "../data"
ou
    "pg_ctl" -D "../data" -l journal_applicatif start

maintenant, je vais tester la portabilité mais je pense rencontrer un probleme avec l'utilisateur du cluster.

Hors ligne

Pied de page des forums