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 20/05/2015 14:42:08

Georgie
Membre

Déplacer des tables d'un schéma à un autre

Bonjour

Tout est dans la question ! Au sein d'une même base, cela est-il possible sans conséquence ?

En fait j'ai une appli (GeoNetwork 3) que j'ai installé sur une base Postgres. Mais GN ne demande pas sur quel schéma. Les tables vont donc dans le schéma Public.

Je souhaiterais maintenant les déplacer dans un schéma dédié. Qu'en pensez-vous ? GN va-t-il faire le lien ?

De toute façon, je vais tester, on verra bien. Mais avez-vous des bonnes pratiques à conseiller ?

Merci !

Hors ligne

#2 20/05/2015 15:02:53

gleu
Administrateur

Re : Déplacer des tables d'un schéma à un autre

Il faudra modifier le paramère search_path en y ajoutant le nouveau schéma. Si vous avez des fonctions ou des vues, il est possible que cela pose problème si ces dernières font appel au schéma public.


Guillaume.

Hors ligne

#3 20/05/2015 15:37:32

Georgie
Membre

Re : Déplacer des tables d'un schéma à un autre

Hummm intéressant !

Puis-je vous demander où est-ce qu'on trouve le param "search_path" ?

Hors ligne

#4 20/05/2015 16:06:39

gleu
Administrateur

Re : Déplacer des tables d'un schéma à un autre

Dans le fichier postgresql.conf.


Guillaume.

Hors ligne

#5 21/05/2015 09:39:59

arthurr
Membre

Re : Déplacer des tables d'un schéma à un autre

il est aussi possible de faire :

ALTER DATABASE xxxx SET search_path to public,xxxx;

Hors ligne

#6 21/05/2015 16:45:53

Georgie
Membre

Re : Déplacer des tables d'un schéma à un autre

Oulàààà ! Arthur, pouvez-vous m'expliquer plus précisément ce que va faire cette commande ?

Vous pourriez beaucoup m'aider dans mes tests en m'indiquant une commande pour déplacer un grand nombre de tables d'un schéma à un autre... Bon j'abuse un peu, ça doit se trouver en cherchant un peu...

_________________________________________

Gleu, s'il vous plaît, pouvez-vous m'expliquer ce qu'est ce fichier postgresql.conf ? Un fichier de GeoNetwork ?

Si oui, je précise que j'utilise GN3 (génial d'ailleurs ! N'hésitez pas, il vient de sortir et c'est du lourd, mon GN3 de test ici http://geo-ids.fr:9322/geonetwork).
Or, dans GN3, j'ai bien un fichier web-inf/config-db/postgres.xml, mais il ne mentionne pas de schéma sur lequel pointer.

Dernière modification par Georgie (21/05/2015 16:48:04)

Hors ligne

#7 21/05/2015 17:26:22

gleu
Administrateur

Re : Déplacer des tables d'un schéma à un autre

La commande configure le paramètre search_path uniquement pour les connexions à la base xxxx.

Il n'y a pas de commande pour déplacer un grand nombre de tables, il faut les faire une à une avec la commande ALTER TABLE.

Le fichier postgresql.conf est le fichier de configuration de PostgreSQL.


Guillaume.

Hors ligne

#8 21/05/2015 17:33:47

Georgie
Membre

Re : Déplacer des tables d'un schéma à un autre

OK merci !

Hors ligne

#9 22/05/2015 18:28:41

Georgie
Membre

Re : Déplacer des tables d'un schéma à un autre

Bonjour

J'ai lancé la commande mentionnée plus haut, mais sans parvenir exactement à mes fins (ALTER DATABASE xxxx SET search_path to public,xxxx;).

Maintenant, je souhaiterais revenir en arrière, c'est-à-dire que le search_path se remettes dans sa config par défaut, c'est possible ?

Hors ligne

#10 22/05/2015 19:01:10

Georgie
Membre

Re : Déplacer des tables d'un schéma à un autre

Question bête, désolé...

Un mini bog m'a fait penser que cette commande en était la cause, mais c'est résolu...

Hors ligne

#11 23/05/2015 08:37:25

gleu
Administrateur

Re : Déplacer des tables d'un schéma à un autre

Pour infos quand même, il suffit de faire un ALTER DATABASE xxxx RESET search_path;


Guillaume.

Hors ligne

Pied de page des forums