Re: Quota por usuário no postgreSQL

From: Carlos Adean <carlosadean(at)linea(dot)gov(dot)br>
To: Cleiton Luiz Domazak <cleitondomazak(at)gmail(dot)com>
Cc: pgsql-pt-geral(at)lists(dot)postgresql(dot)org
Subject: Re: Quota por usuário no postgreSQL
Date: 2018-10-01 14:41:51
Message-ID: 1235831060.5676.1538404911316.JavaMail.root@linea.gov.br
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-pt-geral

----- Mensagem original -----

> De: "Cleiton Luiz Domazak" <cleitondomazak(at)gmail(dot)com>
> Para: carlosadean(at)linea(dot)gov(dot)br
> Cc: pgsql-pt-geral(at)lists(dot)postgresql(dot)org
> Enviadas: Sexta-feira, 28 de setembro de 2018 19:09:31
> Assunto: Re: Quota por usuário no postgreSQL

> On Fri, Sep 28, 2018 at 9:01 PM Carlos Adean <
> carlosadean(at)linea(dot)gov(dot)br > wrote:

> > Olá,
>

> > Algum expert sabe dizer se é possível implementar quotas por
> > usuário
> > no postgreSQL?
>

> Você poderia explicar melhor o que você quer dizer com quotas por
> usuário? Pois se for como quotas de recursos como no SQL Server com
> as Resources Pool, realmente seria uma grande funcionalidade para o
> PostgreSQL, mas infelizmente nativamente não há, mas se alguém da
> lista tiver alguma solução conhecida de terceiros...
Temos algumas tabelas read-only que chamamos de catálogos primários, estas possuem muitos dados. Atualmente os usuários executam queries nessas tabelas e os resultados são exportados para arquivos.

Quando um usuário quer gerar plots dos resultados das suas consultas ele precisa abrir o arquivo e carregar os dados, a idéia é permitir que eles criem tabelas (views se também for possível) num espaço próprio do usuário no banco de dados - que pode ser um schema - daí a necessidade de implementar quota de maneira a limitar o volume de dados que cada um pode escrever.

> > Estamos planejando o desenvolvendo de um ambiente onde os usuários
> > terão permissão de somente leitura a um banco de dados e a partir
> > desse executar queries e gravar os resultados em seu próprio
> > espaço,
> > ou em suas próprias tabelas.
>

> Com as infos que você passou não ficou claro como que você irá
> distribuir esses dados, mas estou assumindo que tudo está no mesmo
> cluster e na mesma database, então você poderia usar essa
> segmentação dos dados via schemas[1], assim você poderia controlar o
> acesso read only no schema de origem, e cada usuário iria possuir
> seu proprio schema, isso se você desejar manter tudo na mesma
> database, senão você poderia segmentar por database também.
> > Como não achei uma solução oficial de como implementar essas quotas
> > por usuário então achei melhor perguntar.
>

> 1- https://www.postgresql.org/docs/current/static/ddl-schemas.html
Sim. É exatamente isso você já pegou a ideia.

Tudo está no mesmo banco de dados e no mesmo cluster (cluster que você quer dizer aqui é a definição de instância para o postgreSQL?)...se for a melhor opção então usar um schema para cada usuário e manter os dados dos catálogos primários read-only, como já é hoje. No entanto, não achei meios de limitar o volume de dados que um usuário pode gravar no banco.

--
Carlos Adean
IT Team
linea.gov.br
skype: carlosadean

In response to

Browse pgsql-pt-geral by date

  From Date Subject
Next Message Carlos Adean 2018-10-01 14:43:05 Re: Quota por usuário no postgreSQL
Previous Message Fabrízio de Royes Mello 2018-09-28 23:36:51 Re: Quota por usuário no postgreSQL