Re: PostgreSQL/Postgis : rendre visible les vues mais PAS les tables ?

From: celati Laurent <laurent(dot)celati(at)gmail(dot)com>
To: Cédric Villemain <cedric(dot)villemain(at)data-bene(dot)io>
Cc: Guillaume Lelarge <guillaume(at)lelarge(dot)info>, pgsql-fr-generale <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: PostgreSQL/Postgis : rendre visible les vues mais PAS les tables ?
Date: 2022-04-04 14:21:40
Message-ID: CAHByMH265EDx+3UkPfUhNck_4RB3YEYvj=MoNeqYKspheJygUw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Re-bonjour,
Merci pour l'idée de Foreign Data Wrapper.
J'ai jamais testé le FDW. J'ai un peu peur que celà complexifie
l'architecture. Et je me demandais si il y
avait pas un risque de perte de performance. Mais c'est en effet une
alternative intéressante à tester.

En tout cas, pour une approche au sein d'une même BDD unique.
Si je fais un :

*GRANT USAGE ON SCHEMA "SCHEMA" TO "USER";ALTER DEFAULT PRIVILEGES IN
SCHEMA "SCHEMA" GRANT SELECT ON TABLES TO "USER"*

Le probleme c'est qu'il y a pas de différenciation entre les tables et les
vues. Elles seront toutes visibles.
Mon but est de rendre par defaut toutes les tables de ma BDD non visibles.
Et de rendre par defaut toutes mes vues de ma BDD visibles.
Si mon objectif est de tout centraliser au sein de la meme BDD, je suis
peut etre que je suis obligé de dédier des schemas pour les TABLES et
d'autres schemas dédiés pour les VUES ? Par exemple :

*GRANT USAGE ON SCHEMA "SCHEMA_FOR_VIEWS" TO "USER";*
*ALTER DEFAULT PRIVILEGES IN SCHEMA "SCHEMA_FOR_VIEWS" GRANT SELECT ON
TABLES TO "USER"*

Le lun. 4 avr. 2022 à 16:09, Cédric Villemain <Cedric(dot)Villemain(at)data-bene(dot)io>
a écrit :

> Le 04/04/2022 à 15:48, Guillaume Lelarge a écrit :
>
> Le lun. 4 avr. 2022 à 15:09, celati Laurent <laurent(dot)celati(at)gmail(dot)com> a
> écrit :
>
>> Bonjour,
>>
>> Je travaille avec Postgresql 13, Postgis et qgis (client bureautique pour
>> visualiser la donnée SIG spatiale).
>>
>> J'importe des fichiers shapefile dans des tables au sein d'une base de
>> données unique, dans différents schemas. Lors de chaque import de shp, une
>> nouvelle table est générée : chaque fichier shp importé génère une nouvelle
>> création de table. On peut dire que c'est l'approche d'import la plus
>> simple qu'on pourrait appeler, import "entrepot de données".
>>
>> A partir de c'est tables, j'aimerais créer des vues afin de restructurer
>> la donnée, filtrer les champs utiles. Dans un but de mettre à disposition
>> ces vues aux utilisateurs via qgis.
>>
>> Pour valider cette stratégie, il y a un point dur à résoudre. C'est que
>> in fine je souhaite que les utilisateurs, sous qgis, voient uniquement les
>> vues. Je ne souhaite PAS qu'ils voient les tables.
>>
>> Sauriez vous si il est possible, au sein d'une même BDD, au sein de
>> plusieurs schemas, de rendre par defaut visible les vues aux utilisateurs.
>> Et de rendre les tables NON visibles ?
>>
>>
> Non, ce n'est pas possible à ma connaissance.
>
> En solution alternative, vous pourriez utiliser le Foreign Data Wrapper
> PostgreSQL pour créer des tables dans une base réservée à vos utilisateurs,
> de sorte qu'ils ne voient que ces dernières.
>
> Voir https://docs.postgresql.fr/14/postgres-fdw.html
>
>
>
> ---
> Cédric Villemain +33 (0)6 20 30 22 52https://Data-Bene.io
> PostgreSQL: Expertise - Formation - Développement - Assistance Technique
>
>

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Olivier GENTRIC 2022-04-04 16:21:30 Re: PostgreSQL/Postgis : rendre visible les vues mais PAS les tables ?
Previous Message Cédric Villemain 2022-04-04 14:09:32 Re: PostgreSQL/Postgis : rendre visible les vues mais PAS les tables ?