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 17/01/2011 15:57:23

genio
Membre

Cas de saturation de disque...

Bonjour à tous...
Les TS Postgrès sont tous en Autoextend => OK
Imaginons un plantage après un job de soirée sur un TS qui explose (pas assez de place disque sur le file systeme) => OK
Quelle est l'astuce qui pourrait être jouée, à chaud, pour changer le TS de placer dans un autre filesystem ...

Merci pour vos réponses...

Hors ligne

#2 17/01/2011 16:01:48

Marc Cousin
Membre

Re : Cas de saturation de disque...

Déplacer un TS dans un autre FS, on ne peut pas. Créer un autre TS et y déplacer des objets, par contre, c'est possible.

Enfin si, on peut déplacer un TS dans un autre FS, mais c'est un peu à l'arrache :

- Eteindre PG
- Déplacer le répertoire contenant le TS
- Modifier le lien symbolique de pg_tblspc pour qu'il pointe vers le nouveau répertoire
- Redémarrer PG.

Ça va marcher. Pour que le catalogue soit à jour, il faut aussi modifier pg_tablespace (un update suffira).

Et c'est à faire base éteinte.


Marc.

Hors ligne

#3 17/01/2011 16:40:15

genio
Membre

Re : Cas de saturation de disque...

Hum...
Déplacer un TS dans un autre FS :
1°) Comment modifier le lien symbolique de pg_tblspc ?
2°) Mon pg_tablespace contient les valeurs pg_default et pg_global => OK
Je ne comprends pas quelle valeur il faut saisir pour modifier pg_tablespace ?
3°) Pourquoi certaines données comme pg_tablespace sont elle 'selectable' (select * from pg_tablespace) et d'autre comme pg_tblspc non ?


Créer un autre TS et y déplacer des objets :
4°) Il y a juste a copier les données d'uin repertoire vers un autre plus grand et modifier pg_tablespace et/ou pg_tblspc ?

Merci encore pour vos réponses...

Hors ligne

#4 17/01/2011 18:09:35

Marc Cousin
Membre

Re : Cas de saturation de disque...

1) Ça dépend de votre système d'exploitation. Avec windows aucune idée, faut bidouiller un junction point, avec les systèmes unix, c'est la commande ln
2) Il faut avoir un autre tablespace. Si vous n'en avez pas d'autres, vous ne pourrez pas changer les liens symboliques, n'en ayant pas. Vous serez donc obligé de faire des alter table à la main.
3) pg_tblspc est un répertoire du système d'exploitation. pg_tablespace est une table postgres.
4) Non. ALTER TABLE si c'est pour déplacer une table d'un tablespace (pg_default) vers un autre  (votre tablespace créé à la main)


Marc.

Hors ligne

#5 18/01/2011 15:57:45

genio
Membre

Re : Cas de saturation de disque...

Merci Marc pour vos explications...

1°) Ok pour le ln (je ne pensais pas que ce serait si facile !)...
2 et 4°) L'alter tables dont vous parlez, est-ce un ALTER TABLE SET TABLESPACE 'nouvel espace logique' ?
3°) Oui je sais que pg_tblspe est un repertoire du systeme mais je voulais dire qu'entre les pg_toto que l'on peut selecter et les autre pg_tata qui sont soit des répertoire, soit autre chose, il y a quelquefois risque de confusions... m'enfin c'est comme ça !

Merci encore pour vos réponses...

Hors ligne

#6 18/01/2011 18:44:51

Marc Cousin
Membre

Re : Cas de saturation de disque...

2 et 4) Oui
3) Difficile de confondre une table et un répertoire. Je ne vois pas le problème.


Marc.

Hors ligne

#7 19/01/2011 15:58:10

genio
Membre

Re : Cas de saturation de disque...

Merci Marc...

Hors ligne

Pied de page des forums