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 Re : Général » Requête unique pour des droits différents » 24/08/2010 08:46:30

Bon je m'en suis sorti avec une vue et la modification du search_path pour certains users...

#2 Re : Général » Selection sur plusieurs schemas » 24/08/2010 08:45:17

Ok, merci.

J'ai fait une procédure qui boucle sur les users puis sur les tables:

for users in select usename from pg_user where usename <> 'postgres' loop
    for simu in execute 'select id, name from '||quote_ident(users.usename)||'.simulation' loop
        return next simu;
    end loop;
end loop;

#3 Général » Requête unique pour des droits différents » 20/08/2010 15:42:38

rbleu
Réponses : 1

Bonjour,

J'ai une table de produits dont certains sont "inactifs".
Suivant leur groupe, les users ont accès ou non à ces produits:
(1) - par défaut ils ne voient que les produits "actifs"
(2) - les users du group1 voient tous les produits
(3) - les users du group2 voient et peuvent créer/modifier/effacer tous les produits

Est-ce qu'il y a un moyen de faire cela en ayant une requête unique qq soit le cas ? (En fait pour que la logique métier soit au niveau de la base et non pas au niveau de l'application).
Par exemple avec des vues qui seraient sélectionnées en fonction du groupe, et des droits particuliers pour les groupes ?
En passant par une procédure stockée ?

Je vois bien que pour (1) une vue avec where active = false suffit, pour le (2) pas de filtre, pour le (3) des droits adéquats, mais c'est pour lier l'ensemble que j'ai du mal ;-)

Merci pour votre aide,

Philippe.

#4 Général » Selection sur plusieurs schemas » 20/08/2010 15:31:33

rbleu
Réponses : 2

Bonjour,

J'ai une base dans laquelle chaque user a son schema, comment puis-je faire un select sur tous les schemas (avec un user ayant les droits suffisants).
Par exemple pour 2 users on pourrait faire:

select id, name from user1.simulation union select id, name from user2.simulation

Mais quand le nombre de users n'est pas connu, je ne vois pas comment faire...

Merci pour votre aide,

Philippe.

Pied de page des forums

Propulsé par FluxBB