Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 Re : Général » changer l'emplacement des données » 16/03/2009 17:04:29
Merci pour vos réponses
En fait ce que je voulais ce n'est pas de créer un espace secondaire mais plutôt de déplacer l'espace principal.
car malheureusement la personne qui avez installé postgresql l'avait fait sur la partition système et il n'a plus espace et je dois déplacer doit les données déjà existantes.
En cherchant dans les forums j'ai vue une solution sous Windows alors que moi je suis sur Debian
Solution windows
- Il faut stopper ton service postgresql
- copier tout le contenu de C:\Program Files\PostgreSQL\8.1\data dans E:\PostgreSQL\DATA
- aller dans le regedit HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pgsql-8.1
et modifier la chaine ImagePath
"C:\Program Files\PostgreSQL\8.1\bin\pg_ctl.exe" runservice -N "pgsql-8.1" -D "C:\Program Files\PostgreSQL\8.1\data\"
en
"C:\Program Files\PostgreSQL\8.1\bin\pg_ctl.exe" runservice -N "pgsql-8.1" -D "E:\PostgreSQL\DATA\"
- dans HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Services\pgsql-8.1
modifier la chaine Data Directory
- dans HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\{un GUID}
modifier la chaine Data Directory
Avant de relancer le service, il faut donner les droits d'ecriture sur ce nouvel emplacement à l'user postgres
par exemple en utilisant cette commande : cacls E:\PostgreSQL\DATA /T /E /G postgres:C
si tu veux creer une base vide à un autre emplacement, c'est la meme procedure mais d'abord un petit initdb :
initdb -D E:\PostgreSQL\DATA
Merci d'avance
#2 Re : Général » changer l'emplacement des données » 16/03/2009 17:03:28
PostgreSQL te permet de créer des tablespaces, c'est à dire des espaces de stockage.
Par exemple :CREATE TABLESPACE espace_secondaire LOCATION '/usr/local/pgsql';
Tu peux ensuite décider déplacer n'importe quel objet ( tables, index, fonction ) dans ce nouvel espace :
ALTER TABLE t1 SET TABLESPACE espace_secondaire;
Plus d'info : http://docs.postgresqlfr.org/8.1/manage … paces.html
Merci pour vos réponses
En fait ce que je voulais ce n'est pas de créer un espace secondaire mais plutôt de déplacer l'espace principal.
car malheureusement la personne qui avez installé postgresql l'avait fait sur la partition système et il n'a plus espace et je dois déplacer doit les données déjà existantes.
En cherchant dans les forums j'ai vue une solution sous Windows alors que moi je suis sur Debian
Solution windows
- Il faut stopper ton service postgresql
- copier tout le contenu de C:\Program Files\PostgreSQL\8.1\data dans E:\PostgreSQL\DATA
- aller dans le regedit HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pgsql-8.1
et modifier la chaine ImagePath
"C:\Program Files\PostgreSQL\8.1\bin\pg_ctl.exe" runservice -N "pgsql-8.1" -D "C:\Program Files\PostgreSQL\8.1\data\"
en
"C:\Program Files\PostgreSQL\8.1\bin\pg_ctl.exe" runservice -N "pgsql-8.1" -D "E:\PostgreSQL\DATA\"
- dans HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Services\pgsql-8.1
modifier la chaine Data Directory
- dans HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\{un GUID}
modifier la chaine Data Directory
Avant de relancer le service, il faut donner les droits d'ecriture sur ce nouvel emplacement à l'user postgres
par exemple en utilisant cette commande : cacls E:\PostgreSQL\DATA /T /E /G postgres:C
si tu veux creer une base vide à un autre emplacement, c'est la meme procedure mais d'abord un petit initdb :
initdb -D E:\PostgreSQL\DATA
Merci d'avance
#3 Général » changer l'emplacement des données » 16/03/2009 16:12:23
- oci
- Réponses : 9
Bonjour à tous,
je utilise postgreSQL 8.1.4.
L'installation à été réalisée sur le /etc/postgresql/8.1/
Donc les données sont sauvegardées dans le répertoire
/etc/postgresql/8.1/main/pgdata.
Ce que moi je voudrais pouvoir faire, c'est que toutes les données de toutes mes bases, soient sauvegardées sur la partition /usr/local/pgsql.
Tout en sachant que postgres fonctionne déjà avec des bases de données d'autres applications
Comment faire?
Merci d'avance pour vos réponses
#4 Re : Général » démarrage postgre impossible tentative de modifi emplacement data » 09/03/2009 16:23:29
Si vous n'avez rien supprimé, oui, tentez une ré-installation.
Désole deux autres questions.
J'ai tenté de modifier l'emplacement des données car je n'avais pas d'espace sur le disque en effet. Celui qui avait installé posgres l'avait fais sur la partition Système. je voulais savoir si en reinstallant le service je peux préciser l'emplacement des données?
Et si oui est ce que je dois copier l'ancien répertoitre pgdata dans le nouveau emplacement?
Et si non comment puisses-je déplace les donnèes dans un nouveau emplacement?
Merci d'avance car ça fait trop de questions je suppose que vous comprenez
#5 Re : Général » démarrage postgre impossible tentative de modifi emplacement data » 09/03/2009 15:43:50
Il manque quelque chose dans les commandes car il n'y a aucune commande de déplacement de fichiers (mv).
Concernant le message d'erreur, il indique que des binaires ont été déplacés.
J'ai lu votre message et pourriez vous me donner plus de détails svp
merci!!!
#6 Re : Général » démarrage postgre impossible tentative de modifi emplacement data » 09/03/2009 15:41:56
Pourriez vous m'indiquez ce qui pourrait manquer dans les commandes en eeffet je suis novice sous linux et sous posgres
#7 Général » démarrage postgre impossible tentative de modifi emplacement data » 09/03/2009 14:07:53
- oci
- Réponses : 7
Bonjour à Tous
Je souhaiterai votre aide
en effet; j'essayais de modifier l'emplacement des données de mon SGBD PosgreSQL 8.1 sous débian.
voici les premieres instructions que j'ai excuté et les reponses
server1:/usr/lib/postgresql/8.1/bin# /etc/init.d/postgresql-8.1 stop Stopping PostgreSQL 8.1 database server: main.
server1:/usr/lib/postgresql/8.1/bin# mkdir -p /usr/local/pgsql/
server1:/usr/lib/postgresql/8.1/bin# chown postgres /usr/local/pgsql/
server1:/usr/lib/postgresql/8.1/bin# chmod 700 postgres /usr/local/pgsql/
server1:/usr/lib/postgresql/8.1/bin# su postgres
postgres@server1:/usr/lib/postgresql/8.1/bin$ /usr/lib/postgresql/8.1/bin/initdb -D /usr/local/pgsql/
Le programme « postgres » est nécessaire à initdb mais n'a pas été trouvé dans
le même répertoire que « /usr/lib/postgresql/8.1/bin/initdb ».
Vérifiez votre installation.
suite à ce message d'erreur j'ai réessayé de démarrer le SGBD et il m'envoit les messages suivants
server1:/# /etc/init.d/postgresql-8.1 start
Starting PostgreSQL 8.1 database server: mainThe program "postmaster" is needed by pg_ctl but was not found in the same directory as "/usr/lib/postgresql/8.1/bin/pg_ctl". Check your installation. Use of uninitialized value in concatenation (.) or string at /usr/bin/pg_ctlcluster line 303. Error: could not exec /usr/lib/postgresql/8.1/bin/pg_ctl start -D /var/lib/postgresql/8.1/main -l /var/log/postgresql/postgresql-8.1-main.log -s -o -c config_file="/etc/postgresql/8.1/main/postgresql.conf" : failed!
failed!
Je voulais votre aide si quelqu'un a un idée?
Merci d'avance
Pages : 1