Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/03/2005, 14h43   #1
Membre à l'essai
 
Inscription : août 2003
Messages : 100
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : août 2003
Messages : 100
Points : 20
Points : 20
Envoyer un message via Skype™ à sessime
Par défaut Utilité des schemas sous Postgresql?

Salut,
J'utilise pour mon postgresql 8 l'outil pgadmin pour son administration.
Je suis arrivé a creer ma base de données et dans l'arborescence de ma base de données il y a plusieurs choses entre autres les schemas.Et je remarque en fait pour creer une table dans ma base de données il faut que je mes itue dans un schéma.
Alors j'ai eu à creer deux tables dans le schema pg_temp_1 et quand je veux tester une requete de selection ,il me dit que ma table n'existe pas.
En faisant un peu le tour je mes suis rendu compte en fait en joignat au nom de ma table le nom du schema la requete s'exceute bien.
Alors je voudrais demander au public de postgresql quel est le role des schemas sous postgresql et est ce qu'il y a une possibilité de se passer du nom de schema pour acceder à mes tables.
NB:je rappele tjrs que le pgadmin que j'ai installé a un doc plutot en anglais et si quelqu'un pouvait m'envoyer un doc français sur le pl/pgsql ce sera la bienvenue.
Merci
__________________
salut
sessime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2005, 15h45   #2
Membre émérite
 
Avatar de hpalpha
 
Inscription : mars 2002
Messages : 770
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 770
Points : 833
Points : 833
Bonjour,
pour rappel un schema est une sorte de collection d'objets pg (tables, procedures, vues, ...)
Le schema par defaut est public, en general pour appeler une table de ce schema, pas besoin de faire SELECT * FROM public.matable mais tout simplement SELECT * FROM matable.
Pour les schema que l'on ajoute, il faut faire précéder la table par le nom du schema, sauf dans le cas où l'on le spécifie à la variable search_path:

exemple :
Code :
1
2
3
4
5
6
7
 
SELECT * FROM matable; -- table inconnue
SELECT * FROM monschema.matable; -- 999 enregistrements 
 
SET search_path TO monschema, public;
SELECT * FROM matable; -- 999 enregistrements 
SELECT * FROM monschema.matable; -- 999 enregistrements
Dans mon cas, j'utilise les schema pour segmenter chaque client : un schema par client, chaque client ayant des tables spécifique et comme pg ne gere pas encore le cross database ...
hpalpha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h57.


 
 
 
 
Partenaires

Hébergement Web