Re: [pgbr-geral] Remover drop database/table

2017-08-17 Por tôpico Daniel Luiz da Silva



De: "Tiago Brasil" <neotbra...@gmail.com> 
Para: "Comunidade PostgreSQL Brasileira" <pgbr-geral@listas.postgresql.org.br> 
Enviadas: Quinta-feira, 17 de agosto de 2017 14:56:54 
Assunto: Re: [pgbr-geral] Remover drop database/table 

Fabrizio, otima sugestao 

Irei testar em breve. 

Em 17 de agosto de 2017 14:47, Fabrízio de Royes Mello < 
fabri...@timbira.com.br > escreveu: 




Em 17 de agosto de 2017 14:21, Fábio Telles Rodriguez < fabio.tel...@gmail.com 
> escreveu: 
> 
> Em 17 de agosto de 2017 14:18, Tiago Brasil < neotbra...@gmail.com > 
> escreveu: 
>> 
>> Não, é o inverso! 
>> 
>> Os dev vao poder criar objetos e esquemas, mas NÃO poderão dropar nada. 
> 
> 
> Aí você complica. Por padrão, quem cria um objeto é dono dele. E todo dono 
> retem o poder de destruir o que criou. É um princípio básico que todo SGDB 
> usa. Você tem duas alternativas: 
> 
> 1) Delegar outra pessoa para criar os objetos. 
> 2) Alterar o dono dos objetos depois que eles foram criados. 
> 

3) utilizar Event Triggers [1] para "barrar" esse DROP . 

Att, 

[1] https://www.postgresql.org/docs/current/static/event-triggers.html 

-- 
Fabrízio de Royes Mello Timbira - http://www.timbira.com.br/ 
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento 




Outra sugestão que poderia ser incluso, com tudo que já foi citado, é incluir 
um script no cron/eventos do windows, que verifica os objetos que não está como 
owner o usuário "dba", por exemplo, e alterar o proprietário desses objetos. 
Mas teria que verificar se é aplicável para essa situação. 

BQ_BEGIN

___ 
pgbr-geral mailing list 
pgbr-geral@listas.postgresql.org.br 
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral 

BQ_END




-- 
-- Tiago Menezes Brasil -- 
Centro Universitário do Estado do Pará ( CESUPA ) 
Bacharel em Ciências da Computação ( BCC ) 
-- Belém - PA - Brasil -- 


___ 
pgbr-geral mailing list 
pgbr-geral@listas.postgresql.org.br 
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral 

-- 
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Remover drop database/table

2017-08-17 Por tôpico Tiago Brasil
Fabrizio, otima sugestao

Irei testar em breve.

Em 17 de agosto de 2017 14:47, Fabrízio de Royes Mello <
fabri...@timbira.com.br> escreveu:

>
> Em 17 de agosto de 2017 14:21, Fábio Telles Rodriguez <
> fabio.tel...@gmail.com> escreveu:
> >
> > Em 17 de agosto de 2017 14:18, Tiago Brasil 
> escreveu:
> >>
> >> Não, é o inverso!
> >>
> >> Os dev vao poder criar objetos e esquemas, mas NÃO poderão dropar nada.
> >
> >
> > Aí você complica. Por padrão, quem cria um objeto é dono dele. E todo
> dono retem o poder de destruir o que criou. É um princípio básico que todo
> SGDB usa. Você tem duas alternativas:
> >
> > 1) Delegar outra pessoa para criar os objetos.
> > 2) Alterar o dono dos objetos depois que eles foram criados.
> >
>
> 3) utilizar Event Triggers [1] para "barrar" esse DROP .
>
> Att,
>
> [1] https://www.postgresql.org/docs/current/static/event-triggers.html
>
> --
>Fabrízio de Royes Mello Timbira - http://www.timbira.com.br/
>PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
--*Tiago Menezes Brasil*--
*Centro Universitário do Estado do Pará* (*CESUPA*)
*Bacharel em Ciências da Computação* (*BCC*)
--* Belém - PA - Brasil* --
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Remover drop database/table

2017-08-17 Por tôpico Tiago Brasil
Exatamente Fábio, complicado.

O cliente que presto serviço não possui conhecimento em banco de dados,
logo, o mesmo também não gostaria de pagar "produção" somente para eu criar
objetos. Não vejo outra solução além de sugerir as duas opções que você
citou.

Em 17 de agosto de 2017 14:21, Fábio Telles Rodriguez <
fabio.tel...@gmail.com> escreveu:

>
>
> Em 17 de agosto de 2017 14:18, Tiago Brasil 
> escreveu:
>
>> Não, é o inverso!
>>
>> Os dev vao poder criar objetos e esquemas, mas NÃO poderão dropar nada.
>>
>
> Aí você complica. Por padrão, quem cria um objeto é dono dele. E todo dono
> retem o poder de destruir o que criou. É um princípio básico que todo SGDB
> usa. Você tem duas alternativas:
>
> 1) Delegar outra pessoa para criar os objetos.
> 2) Alterar o dono dos objetos depois que eles foram criados.
>
>>
>>
>>
>> Em 17 de agosto de 2017 14:11, Ilton Junior 
>> escreveu:
>>
>>> Pelo que entendi você quer que os devs possam dropar objetos!
>>>
>>> Se for faça isso:
>>>
>>> alter role  superuser;
>>>
>>> Caso queira fazer isso pra todos os users use o seguinte comando:
>>>
>>> select 'alter role ' || usename || ' superuser;'
>>> from pg_user;
>>>
>>>
>>>
>>>
>>> *Ilton Júnior*
>>> Redes de Computadores | LPIC Sênior *| DBA Pleno*
>>> Cel.: +55 85 9915-5540
>>> E-mail: iltonjunio...@gmail.com
>>>
>>> Em 17 de agosto de 2017 13:59, Tiago Brasil 
>>> escreveu:
>>>
 Pessoal, boa tarde.

 Tenho uma database criada no meu servidor, todos os privilégios para os
 desenvolvedores, com exceção o drop table/database.

 Lendo algumas coisas na documentação, vi que somente o owner/superuser
 pode dropar objetos e o bd. No caso, teria algum meio de alcançar esse
 objetivo? Ou é uma limitação do postgres?

 Entendo que apenas os dbas deveriam ter o privilegios de criar e dropar
 objetos, porém aonde trabalho isso seria uma exceção.

 Agradeço qualquer contribuição!

 --
 --*Tiago Menezes Brasil*--
 *Centro Universitário do Estado do Pará* (*CESUPA*)
 *Bacharel em Ciências da Computação* (*BCC*)
 --* Belém - PA - Brasil* --


 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

>>>
>>>
>>> ___
>>> pgbr-geral mailing list
>>> pgbr-geral@listas.postgresql.org.br
>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>
>>
>>
>>
>> --
>> --*Tiago Menezes Brasil*--
>> *Centro Universitário do Estado do Pará* (*CESUPA*)
>> *Bacharel em Ciências da Computação* (*BCC*)
>> --* Belém - PA - Brasil* --
>>
>>
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
>
> --
> Atenciosamente,
> Fábio Telles Rodriguez
> blog: http:// s
> avepoint.blog.br
> e-mail / gtalk / MSN: fabio.tel...@gmail.com
> Skype: fabio_telles
>
> Timbira - A empresa brasileira de Postgres
> http://www.timbira.com.br
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
--*Tiago Menezes Brasil*--
*Centro Universitário do Estado do Pará* (*CESUPA*)
*Bacharel em Ciências da Computação* (*BCC*)
--* Belém - PA - Brasil* --
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Remover drop database/table

2017-08-17 Por tôpico Fabrízio de Royes Mello
Em 17 de agosto de 2017 14:21, Fábio Telles Rodriguez <
fabio.tel...@gmail.com> escreveu:
>
> Em 17 de agosto de 2017 14:18, Tiago Brasil 
escreveu:
>>
>> Não, é o inverso!
>>
>> Os dev vao poder criar objetos e esquemas, mas NÃO poderão dropar nada.
>
>
> Aí você complica. Por padrão, quem cria um objeto é dono dele. E todo
dono retem o poder de destruir o que criou. É um princípio básico que todo
SGDB usa. Você tem duas alternativas:
>
> 1) Delegar outra pessoa para criar os objetos.
> 2) Alterar o dono dos objetos depois que eles foram criados.
>

3) utilizar Event Triggers [1] para "barrar" esse DROP .

Att,

[1] https://www.postgresql.org/docs/current/static/event-triggers.html

--
   Fabrízio de Royes Mello Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Remover drop database/table

2017-08-17 Por tôpico Cleiton Luiz Domazak
2017-08-17 14:21 GMT-03:00 Fábio Telles Rodriguez :

>
>
> Em 17 de agosto de 2017 14:18, Tiago Brasil 
> escreveu:
>
>> Não, é o inverso!
>>
>> Os dev vao poder criar objetos e esquemas, mas NÃO poderão dropar nada.
>>
>
> Aí você complica. Por padrão, quem cria um objeto é dono dele. E todo dono
> retem o poder de destruir o que criou. É um princípio básico que todo SGDB
> usa. Você tem duas alternativas:
>
> 1) Delegar outra pessoa para criar os objetos.
> 2) Alterar o dono dos objetos depois que eles foram criados.
>

Complementando o que todos já comentaram.

Nesse caso acredito que a melhor prática é você utilizar alguma ferramenta
para realizar essas alterações de banco. Como Hibernate, Liquidbase e
FlywayDB.

Ou ainda desenvolver alguma ferramenta interna para "equalização" de base.
Muitas empresas onde trabalhei acabaram desenvolvendo suas próprias
ferramentas, cada uma por uma necessidade expecífica, mas todas com o mesmo
objetivo claro, permitir que o desenvolvedor gere a alteração de banco, e
ela seja efetivada em todas as bases necessárias, sem necessariamente dar
privilégios a vários usuários. Vai por mim, você não quer ter pessoas
mexendo no banco de dados sem supervisão querendo apenas "resolver o meu
problema", mais cedo ou mais tarde, você terá que testar suas habilidades
em executar um bom DRP, que espero que você já tenha.

>
>>
>>
>> Em 17 de agosto de 2017 14:11, Ilton Junior 
>> escreveu:
>>
>>> Pelo que entendi você quer que os devs possam dropar objetos!
>>>
>>> Se for faça isso:
>>>
>>> alter role  superuser;
>>>
>>> Caso queira fazer isso pra todos os users use o seguinte comando:
>>>
>>> select 'alter role ' || usename || ' superuser;'
>>> from pg_user;
>>>
>>>
>>>
>>>
>>> *Ilton Júnior*
>>> Redes de Computadores | LPIC Sênior *| DBA Pleno*
>>> Cel.: +55 85 9915-5540
>>> E-mail: iltonjunio...@gmail.com
>>>
>>> Em 17 de agosto de 2017 13:59, Tiago Brasil 
>>> escreveu:
>>>
 Pessoal, boa tarde.

 Tenho uma database criada no meu servidor, todos os privilégios para os
 desenvolvedores, com exceção o drop table/database.

 Lendo algumas coisas na documentação, vi que somente o owner/superuser
 pode dropar objetos e o bd. No caso, teria algum meio de alcançar esse
 objetivo? Ou é uma limitação do postgres?

 Entendo que apenas os dbas deveriam ter o privilegios de criar e dropar
 objetos, porém aonde trabalho isso seria uma exceção.

 Agradeço qualquer contribuição!

 --
 --*Tiago Menezes Brasil*--
 *Centro Universitário do Estado do Pará* (*CESUPA*)
 *Bacharel em Ciências da Computação* (*BCC*)
 --* Belém - PA - Brasil* --


 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

>>>
>>>
>>> ___
>>> pgbr-geral mailing list
>>> pgbr-geral@listas.postgresql.org.br
>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>
>>
>>
>>
>> --
>> --*Tiago Menezes Brasil*--
>> *Centro Universitário do Estado do Pará* (*CESUPA*)
>> *Bacharel em Ciências da Computação* (*BCC*)
>> --* Belém - PA - Brasil* --
>>
>>
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
>
> --
> Atenciosamente,
> Fábio Telles Rodriguez
> blog: http:// s
> avepoint.blog.br
> e-mail / gtalk / MSN: fabio.tel...@gmail.com
> Skype: fabio_telles
>
> Timbira - A empresa brasileira de Postgres
> http://www.timbira.com.br
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Remover drop database/table

2017-08-17 Por tôpico Fábio Telles Rodriguez
Em 17 de agosto de 2017 14:18, Tiago Brasil  escreveu:

> Não, é o inverso!
>
> Os dev vao poder criar objetos e esquemas, mas NÃO poderão dropar nada.
>

Aí você complica. Por padrão, quem cria um objeto é dono dele. E todo dono
retem o poder de destruir o que criou. É um princípio básico que todo SGDB
usa. Você tem duas alternativas:

1) Delegar outra pessoa para criar os objetos.
2) Alterar o dono dos objetos depois que eles foram criados.

>
>
>
> Em 17 de agosto de 2017 14:11, Ilton Junior 
> escreveu:
>
>> Pelo que entendi você quer que os devs possam dropar objetos!
>>
>> Se for faça isso:
>>
>> alter role  superuser;
>>
>> Caso queira fazer isso pra todos os users use o seguinte comando:
>>
>> select 'alter role ' || usename || ' superuser;'
>> from pg_user;
>>
>>
>>
>>
>> *Ilton Júnior*
>> Redes de Computadores | LPIC Sênior *| DBA Pleno*
>> Cel.: +55 85 9915-5540
>> E-mail: iltonjunio...@gmail.com
>>
>> Em 17 de agosto de 2017 13:59, Tiago Brasil 
>> escreveu:
>>
>>> Pessoal, boa tarde.
>>>
>>> Tenho uma database criada no meu servidor, todos os privilégios para os
>>> desenvolvedores, com exceção o drop table/database.
>>>
>>> Lendo algumas coisas na documentação, vi que somente o owner/superuser
>>> pode dropar objetos e o bd. No caso, teria algum meio de alcançar esse
>>> objetivo? Ou é uma limitação do postgres?
>>>
>>> Entendo que apenas os dbas deveriam ter o privilegios de criar e dropar
>>> objetos, porém aonde trabalho isso seria uma exceção.
>>>
>>> Agradeço qualquer contribuição!
>>>
>>> --
>>> --*Tiago Menezes Brasil*--
>>> *Centro Universitário do Estado do Pará* (*CESUPA*)
>>> *Bacharel em Ciências da Computação* (*BCC*)
>>> --* Belém - PA - Brasil* --
>>>
>>>
>>> ___
>>> pgbr-geral mailing list
>>> pgbr-geral@listas.postgresql.org.br
>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>
>>
>>
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
>
> --
> --*Tiago Menezes Brasil*--
> *Centro Universitário do Estado do Pará* (*CESUPA*)
> *Bacharel em Ciências da Computação* (*BCC*)
> --* Belém - PA - Brasil* --
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Atenciosamente,
Fábio Telles Rodriguez
blog: http:// s
avepoint.blog.br
e-mail / gtalk / MSN: fabio.tel...@gmail.com
Skype: fabio_telles

Timbira - A empresa brasileira de Postgres
http://www.timbira.com.br
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Remover drop database/table

2017-08-17 Por tôpico Tiago Brasil
Não, é o inverso!

Os dev vao poder criar objetos e esquemas, mas NÃO poderão dropar nada.



Em 17 de agosto de 2017 14:11, Ilton Junior 
escreveu:

> Pelo que entendi você quer que os devs possam dropar objetos!
>
> Se for faça isso:
>
> alter role  superuser;
>
> Caso queira fazer isso pra todos os users use o seguinte comando:
>
> select 'alter role ' || usename || ' superuser;'
> from pg_user;
>
>
>
>
> *Ilton Júnior*
> Redes de Computadores | LPIC Sênior *| DBA Pleno*
> Cel.: +55 85 9915-5540
> E-mail: iltonjunio...@gmail.com
>
> Em 17 de agosto de 2017 13:59, Tiago Brasil 
> escreveu:
>
>> Pessoal, boa tarde.
>>
>> Tenho uma database criada no meu servidor, todos os privilégios para os
>> desenvolvedores, com exceção o drop table/database.
>>
>> Lendo algumas coisas na documentação, vi que somente o owner/superuser
>> pode dropar objetos e o bd. No caso, teria algum meio de alcançar esse
>> objetivo? Ou é uma limitação do postgres?
>>
>> Entendo que apenas os dbas deveriam ter o privilegios de criar e dropar
>> objetos, porém aonde trabalho isso seria uma exceção.
>>
>> Agradeço qualquer contribuição!
>>
>> --
>> --*Tiago Menezes Brasil*--
>> *Centro Universitário do Estado do Pará* (*CESUPA*)
>> *Bacharel em Ciências da Computação* (*BCC*)
>> --* Belém - PA - Brasil* --
>>
>>
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
--*Tiago Menezes Brasil*--
*Centro Universitário do Estado do Pará* (*CESUPA*)
*Bacharel em Ciências da Computação* (*BCC*)
--* Belém - PA - Brasil* --
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Remover drop database/table

2017-08-17 Por tôpico Ilton Junior
Pelo que entendi você quer que os devs possam dropar objetos!

Se for faça isso:

alter role  superuser;

Caso queira fazer isso pra todos os users use o seguinte comando:

select 'alter role ' || usename || ' superuser;'
from pg_user;




*Ilton Júnior*
Redes de Computadores | LPIC Sênior *| DBA Pleno*
Cel.: +55 85 9915-5540
E-mail: iltonjunio...@gmail.com

Em 17 de agosto de 2017 13:59, Tiago Brasil  escreveu:

> Pessoal, boa tarde.
>
> Tenho uma database criada no meu servidor, todos os privilégios para os
> desenvolvedores, com exceção o drop table/database.
>
> Lendo algumas coisas na documentação, vi que somente o owner/superuser
> pode dropar objetos e o bd. No caso, teria algum meio de alcançar esse
> objetivo? Ou é uma limitação do postgres?
>
> Entendo que apenas os dbas deveriam ter o privilegios de criar e dropar
> objetos, porém aonde trabalho isso seria uma exceção.
>
> Agradeço qualquer contribuição!
>
> --
> --*Tiago Menezes Brasil*--
> *Centro Universitário do Estado do Pará* (*CESUPA*)
> *Bacharel em Ciências da Computação* (*BCC*)
> --* Belém - PA - Brasil* --
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Remover drop database/table

2017-08-17 Por tôpico Tiago Brasil
Pessoal, boa tarde.

Tenho uma database criada no meu servidor, todos os privilégios para os
desenvolvedores, com exceção o drop table/database.

Lendo algumas coisas na documentação, vi que somente o owner/superuser pode
dropar objetos e o bd. No caso, teria algum meio de alcançar esse objetivo?
Ou é uma limitação do postgres?

Entendo que apenas os dbas deveriam ter o privilegios de criar e dropar
objetos, porém aonde trabalho isso seria uma exceção.

Agradeço qualquer contribuição!

-- 
--*Tiago Menezes Brasil*--
*Centro Universitário do Estado do Pará* (*CESUPA*)
*Bacharel em Ciências da Computação* (*BCC*)
--* Belém - PA - Brasil* --
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral