Re: [pgbr-geral] REF: Listar triggers das Tabelas.

2012-11-14 Por tôpico Alexsander Rosa
Nesta solução cada trigger aparece N vezes, uma pra cada combinação
condição/evento; a anterior era mais limpa.
Como meu objetivo é apenas comparar bancos de dados, mostrar tudo numa
linha só gera menos linhas no diff.
Acabei colocando na minha view de comparação a primeira solução, apesar de
não ser tão elegante.


Em 14 de novembro de 2012 12:04, JotaComm jota.c...@gmail.com escreveu:

 Pessoal,

 Em 13 de novembro de 2012 10:53, Matheus de Oliveira 
 matioli.math...@gmail.com escreveu:



 2012/11/13 Paulo pa...@visualpsistemas.com.br

 Ola Pessoal,

 ** **

 Preciso saber quais tabelas e quais triggers cada uma delas possui.

 Alguém conhece o comando para esta consulta ¿

 **


 O ideal seria usar o information_schema, mas pelo catálogo seria isso:

 SELECT r.relname AS tblname, t.tgname,
 pg_catalog.pg_get_triggerdef(t.oid, true) AS tgdef, t.tgenabled
 FROM pg_catalog.pg_class r INNER JOIN pg_catalog.pg_trigger t ON r.oid =
 t.tgrelid
 WHERE r.relkind = 'r' AND NOT t.tgisinternal
 ORDER BY 1, 2;


 Segue uma solução através do information_schema:

 SELECT triggers.trigger_schema,

 triggers.trigger_name,

 triggers.condition_timing,

 triggers.event_manipulation,

 tables.table_schema,

 tables.table_name,

 triggers.action_orientation,

 triggers.action_statement

 FROM information_schema.tables JOIN information_schema.triggers

 ON tables.table_name=triggers.event_object_table;


 Atenciosamente,
 --
 Matheus de Oliveira
 Analista de Banco de Dados PostgreSQL
 Dextra Sistemas - MPS.Br nível F!
 www.dextra.com.br/postgres



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



 Abraços
 --
 JotaComm
 http://jotacomm.wordpress.com

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




-- 
Atenciosamente,
Alexsander da Rosa
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] REF: Listar triggers das Tabelas.

2012-11-14 Por tôpico JotaComm
Opa,

Em 14 de novembro de 2012 12:30, Alexsander Rosa
alexsander.r...@gmail.comescreveu:

 Nesta solução cada trigger aparece N vezes, uma pra cada combinação
 condição/evento; a anterior era mais limpa.
 Como meu objetivo é apenas comparar bancos de dados, mostrar tudo numa
 linha só gera menos linhas no diff.
 Acabei colocando na minha view de comparação a primeira solução, apesar de
 não ser tão elegante.

 Sim, nesta solução se a trigger tem mais uma ação, logo vai aparecer mais
de uma vez, e Isso foi proposital.


 Em 14 de novembro de 2012 12:04, JotaComm jota.c...@gmail.com escreveu:

 Pessoal,

 Em 13 de novembro de 2012 10:53, Matheus de Oliveira 
 matioli.math...@gmail.com escreveu:



 2012/11/13 Paulo pa...@visualpsistemas.com.br

 Ola Pessoal,

 ** **

 Preciso saber quais tabelas e quais triggers cada uma delas possui.

 Alguém conhece o comando para esta consulta ¿

 **


 O ideal seria usar o information_schema, mas pelo catálogo seria isso:

 SELECT r.relname AS tblname, t.tgname,
 pg_catalog.pg_get_triggerdef(t.oid, true) AS tgdef, t.tgenabled
 FROM pg_catalog.pg_class r INNER JOIN pg_catalog.pg_trigger t ON r.oid =
 t.tgrelid
 WHERE r.relkind = 'r' AND NOT t.tgisinternal
 ORDER BY 1, 2;


 Segue uma solução através do information_schema:

 SELECT triggers.trigger_schema,

 triggers.trigger_name,

 triggers.condition_timing,

 triggers.event_manipulation,

 tables.table_schema,

 tables.table_name,

 triggers.action_orientation,

 triggers.action_statement

 FROM information_schema.tables JOIN information_schema.triggers

 ON tables.table_name=triggers.event_object_table;


 Atenciosamente,
 --
 Matheus de Oliveira
 Analista de Banco de Dados PostgreSQL
 Dextra Sistemas - MPS.Br nível F!
 www.dextra.com.br/postgres



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



 Abraços
 --
 JotaComm
 http://jotacomm.wordpress.com

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




 --
 Atenciosamente,
 Alexsander da Rosa



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



Abraços
-- 
JotaComm
http://jotacomm.wordpress.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] REF: Listar triggers das Tabelas.

2012-11-14 Por tôpico Matheus de Oliveira
2012/11/14 JotaComm jota.c...@gmail.com

 Opa,

 Em 14 de novembro de 2012 12:30, Alexsander Rosa 
 alexsander.r...@gmail.com escreveu:

 Nesta solução cada trigger aparece N vezes, uma pra cada combinação
 condição/evento; a anterior era mais limpa.
 Como meu objetivo é apenas comparar bancos de dados, mostrar tudo numa
 linha só gera menos linhas no diff.
 Acabei colocando na minha view de comparação a primeira solução, apesar
 de não ser tão elegante.

 Sim, nesta solução se a trigger tem mais uma ação, logo vai aparecer mais
 de uma vez, e Isso foi proposital.



Nada que um array_agg ou string_agg não resolva facilmente... =D



 Em 14 de novembro de 2012 12:04, JotaComm jota.c...@gmail.com escreveu:

 Pessoal,

 Em 13 de novembro de 2012 10:53, Matheus de Oliveira 
 matioli.math...@gmail.com escreveu:



 2012/11/13 Paulo pa...@visualpsistemas.com.br

 Ola Pessoal,

 ** **

 Preciso saber quais tabelas e quais triggers cada uma delas possui.***
 *

 Alguém conhece o comando para esta consulta ¿

 **


 O ideal seria usar o information_schema, mas pelo catálogo seria isso:

 SELECT r.relname AS tblname, t.tgname,
 pg_catalog.pg_get_triggerdef(t.oid, true) AS tgdef, t.tgenabled
 FROM pg_catalog.pg_class r INNER JOIN pg_catalog.pg_trigger t ON r.oid
 = t.tgrelid
 WHERE r.relkind = 'r' AND NOT t.tgisinternal
 ORDER BY 1, 2;


 Segue uma solução através do information_schema:

 SELECT triggers.trigger_schema,

 triggers.trigger_name,

 triggers.condition_timing,

 triggers.event_manipulation,

 tables.table_schema,

 tables.table_name,

 triggers.action_orientation,

 triggers.action_statement

 FROM information_schema.tables JOIN information_schema.triggers

 ON tables.table_name=triggers.event_object_table;



Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados PostgreSQL
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Atualização para 9.2 com problemas causados pelo tsearch2

2012-11-14 Por tôpico Bruno Silva
Alguém já teve problemas usando o pg_upgrade causados pelo tsearch2?
O pg_upgrade gerou um arquivo 'tables_using_reg' e nele contém:
 public.pg_ts_dict.dict_init
  public.pg_ts_dict.dict_lexize
  public.pg_ts_parser.prs_start
  public.pg_ts_parser.prs_nexttoken

Já tentei executar drops e nada ocorre:
  drop FUNCTION ts_headline ( regconfig, text, tsquery );
ERROR:  cannot drop function ts_headline(regconfig,text,tsquery) because it
is required by the database system


Bruno E. A. Silva.
Analista de Sistemas.
Bacharel em Sistemas de Informação
Pós-graduando em Gerência de Projetos
Certified Scrum Master
LPIC-1
SCJP, SE 6
Novell CLA / DCTS ECR
DBA Postgres
---
“A caixa dizia: Requer MS Windows ou superior. Então instalei Linux.” -
Sábio Desconhecido
Alguns prestam serviço/consultoria de Qualidade, os outros vendem licença!
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Como usar o CRETE ROLE com password já criptografado?

2012-11-14 Por tôpico Renato Ricci
Olá pessoal..

Tenho uma tabela de usuários onde armazeno o usuário e senha de acesso do
sistema. A senha já está criptografada com MD5.

Eu preciso replicar esses usuários para a tabela nativa de usuários do
PostgreSQL através do comando create role e manter a mesma senha. Já tentei
o comando abaixo, mas sem sucesso:

Trigger Function:
DECLARE
v_senha varchar();
BEGIN
v_senha := 'md5' || (new.usu_senha);
  execute 'CREATE ROLE ' || new.usu_usuario || ' NOINHERIT LOGIN
UNENCRYPTED PASSWORD ' || quote_literal(v_senha) ;
  return new;
END;

Alguma sugestão?

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


Re: [pgbr-geral] Como usar o CRETE ROLE com password já criptografado?

2012-11-14 Por tôpico JotaComm
Opa,

Em 14 de novembro de 2012 15:26, Renato Ricci renatoricc...@gmail.comescreveu:

 Olá pessoal..

 Tenho uma tabela de usuários onde armazeno o usuário e senha de acesso do
 sistema. A senha já está criptografada com MD5.

 Eu preciso replicar esses usuários para a tabela nativa de usuários do
 PostgreSQL através do comando create role e manter a mesma senha. Já tentei
 o comando abaixo, mas sem sucesso:

 Trigger Function:
 DECLARE
 v_senha varchar();
 BEGIN
 v_senha := 'md5' || (new.usu_senha);
   execute 'CREATE ROLE ' || new.usu_usuario || ' NOINHERIT LOGIN
 UNENCRYPTED PASSWORD ' || quote_literal(v_senha) ;
   return new;
 END;

 Alguma sugestão?


Qual o problema/erro que você esta tendo?


 Obrigado,
 Renato

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



Abraços
-- 
JotaComm
http://jotacomm.wordpress.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Como usar o CRETE ROLE com password já criptografado?

2012-11-14 Por tôpico Renato Ricci
Não acontece erro.. O usuário é criado normalmente no banco.. apenas sua
autenticação que não é aceita..
Fiz alguns testes, tipo

Criei um usuario na mão:

Create role teste with password '123456';
a senha gerada para o usuario teste é:
'md5ce5b428f93ab83af44e2780e51c339e9'

porém, um usuário da minha tabela, também com a senha 123456,  quando a
trigger executa o create role, o usuário é criado com a senha:
'md5e10adc3949ba59abbe56e057f20f883e'

Creio que a autenticação não esteja funcionando por esse motivo..

Renato



Em 14 de novembro de 2012 15:42, JotaComm jota.c...@gmail.com escreveu:

 Opa,

 Em 14 de novembro de 2012 15:26, Renato Ricci 
 renatoricc...@gmail.comescreveu:

 Olá pessoal..

 Tenho uma tabela de usuários onde armazeno o usuário e senha de acesso do
 sistema. A senha já está criptografada com MD5.

 Eu preciso replicar esses usuários para a tabela nativa de usuários do
 PostgreSQL através do comando create role e manter a mesma senha. Já tentei
 o comando abaixo, mas sem sucesso:

 Trigger Function:
 DECLARE
 v_senha varchar();
 BEGIN
 v_senha := 'md5' || (new.usu_senha);
   execute 'CREATE ROLE ' || new.usu_usuario || ' NOINHERIT LOGIN
 UNENCRYPTED PASSWORD ' || quote_literal(v_senha) ;
   return new;
 END;

 Alguma sugestão?


 Qual o problema/erro que você esta tendo?


 Obrigado,
 Renato

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



 Abraços
 --
 JotaComm
 http://jotacomm.wordpress.com

 ___
 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] Como usar o CRETE ROLE com password já criptografado?

2012-11-14 Por tôpico Joao Paulo Rieg
Olá pessoal..


  Tenho uma tabela de usuários onde armazeno o usuário e senha de acesso do 
sistema. A senha já está criptografada com MD5.


  Eu preciso replicar esses usuários para a tabela nativa de usuários do 
PostgreSQL através do comando create role e manter a mesma senha. Já tentei o 
comando abaixo, mas sem sucesso:


  Trigger Function:
  DECLARE
  v_senha varchar();
  BEGIN 
  v_senha := 'md5' || (new.usu_senha);
execute 'CREATE ROLE ' || new.usu_usuario || ' NOINHERIT LOGIN UNENCRYPTED 
PASSWORD ' || quote_literal(v_senha) ;
return new;
  END;


  Alguma sugestão?


  Obrigado,
  Renato


  Tenho uma trigger que está assim:

  CREATE OR REPLACE FUNCTION gravar_role()
RETURNS trigger AS
  $BODY$
  DECLARE 
   SQL TEXT;
   BEGIN
IF TG_OP = 'INSERT' THEN
 SQL = 'CREATE ROLE '||NEW.usuario||' LOGIN PASSWORD 
'||quote_literal(NEW.passwd)||' INHERIT; ';
 EXECUTE SQL;
 RETURN NEW;
ELSEIF TG_OP = 'UPDATE' THEN
 SQL = 'ALTER ROLE '||NEW.usuario||' PASSWORD 
'||quote_literal(NEW.passwd)||'; ';
 EXECUTE SQL;
 RETURN NEW;
ELSEIF TG_OP = 'DELETE' THEN
 SQL = 'DROP ROLE '||OLD.usuario||'; ';
 EXECUTE SQL;
 RETURN OLD;
END IF;
   END;
  $BODY$
LANGUAGE plpgsql VOLATILE;

  CREATE TRIGGER gravar_role
BEFORE INSERT OR UPDATE OR DELETE
ON sis_user
FOR EACH ROW
EXECUTE PROCEDURE gravar_role();


  A unica preocupação que tive que fazer na aplicação é de não permitir 
modificar o nome do usuario.
  Esta trigger modifica a senha e também remove a role caso seja removido na 
tabela.

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


Re: [pgbr-geral] Como usar o CRETE ROLE com password já criptografado?

2012-11-14 Por tôpico Renato Ricci
Olá João Paulo.. tudo bem?
no meu caso, a senha já está criptografada em MD5.. se eu fizer como vc
fez, eu penso que a senha será criptografada 2 vezes..
Nos eu caso NEW.passwd não esta criptografado né? ou seja.. é um clear
password. correto?

valeu!

Renato


Em 14 de novembro de 2012 16:06, Joao Paulo Rieg
jpaulor...@yahoo.com.brescreveu:

 **
 Olá pessoal..


 Tenho uma tabela de usuários onde armazeno o usuário e senha de acesso do
 sistema. A senha já está criptografada com MD5.

 Eu preciso replicar esses usuários para a tabela nativa de usuários do
 PostgreSQL através do comando create role e manter a mesma senha. Já tentei
 o comando abaixo, mas sem sucesso:

 Trigger Function:
  DECLARE
 v_senha varchar();
 BEGIN
 v_senha := 'md5' || (new.usu_senha);
   execute 'CREATE ROLE ' || new.usu_usuario || ' NOINHERIT LOGIN
 UNENCRYPTED PASSWORD ' || quote_literal(v_senha) ;
   return new;
 END;

 Alguma sugestão?

 Obrigado,
 Renato


 Tenho uma trigger que está assim:

 CREATE OR REPLACE FUNCTION gravar_role()
   RETURNS trigger AS
 $BODY$
 DECLARE
  SQL TEXT;
  BEGIN
   IF TG_OP = 'INSERT' THEN
SQL = 'CREATE ROLE '||NEW.usuario||' LOGIN PASSWORD
 '||quote_literal(NEW.passwd)||' INHERIT; ';
EXECUTE SQL;
RETURN NEW;
   ELSEIF TG_OP = 'UPDATE' THEN
SQL = 'ALTER ROLE '||NEW.usuario||' PASSWORD
 '||quote_literal(NEW.passwd)||'; ';
EXECUTE SQL;
RETURN NEW;
   ELSEIF TG_OP = 'DELETE' THEN
SQL = 'DROP ROLE '||OLD.usuario||'; ';
EXECUTE SQL;
RETURN OLD;
   END IF;
  END;
 $BODY$
   LANGUAGE plpgsql VOLATILE;

 CREATE TRIGGER gravar_role
   BEFORE INSERT OR UPDATE OR DELETE
   ON sis_user
   FOR EACH ROW
   EXECUTE PROCEDURE gravar_role();


 A unica preocupação que tive que fazer na aplicação é de não permitir
 modificar o nome do usuario.
 Esta trigger modifica a senha e também remove a role caso seja removido na
 tabela.

 Att. Rieg


 ___
 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] Como usar o CRETE ROLE com password já criptografado?

2012-11-14 Por tôpico Crauss, Jacson
Renato,

A criptografia para 123456 realmente é e10adc3949ba59abbe56e057f20f883e.

Utilize no seu psql a query select Md5('senha'); para gerar a
criptografia da senha que você utilizará na criação do usuário, não copie
da tela do PgAdmin de um user já criado, por exemplo.

Jacson Crauss


2012/11/14 Renato Ricci renatoricc...@gmail.com

 Não acontece erro.. O usuário é criado normalmente no banco.. apenas sua
 autenticação que não é aceita..
 Fiz alguns testes, tipo

 Criei um usuario na mão:

 Create role teste with password '123456';
 a senha gerada para o usuario teste é:
 'md5ce5b428f93ab83af44e2780e51c339e9'

 porém, um usuário da minha tabela, também com a senha 123456,  quando a
 trigger executa o create role, o usuário é criado com a senha:
 'md5e10adc3949ba59abbe56e057f20f883e'

 Creio que a autenticação não esteja funcionando por esse motivo..

 Renato



 Em 14 de novembro de 2012 15:42, JotaComm jota.c...@gmail.com escreveu:

 Opa,

 Em 14 de novembro de 2012 15:26, Renato Ricci 
 renatoricc...@gmail.comescreveu:

 Olá pessoal..

 Tenho uma tabela de usuários onde armazeno o usuário e senha de acesso
 do sistema. A senha já está criptografada com MD5.

 Eu preciso replicar esses usuários para a tabela nativa de usuários do
 PostgreSQL através do comando create role e manter a mesma senha. Já tentei
 o comando abaixo, mas sem sucesso:

 Trigger Function:
 DECLARE
 v_senha varchar();
 BEGIN
 v_senha := 'md5' || (new.usu_senha);
   execute 'CREATE ROLE ' || new.usu_usuario || ' NOINHERIT LOGIN
 UNENCRYPTED PASSWORD ' || quote_literal(v_senha) ;
   return new;
 END;

 Alguma sugestão?


 Qual o problema/erro que você esta tendo?


 Obrigado,
 Renato

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



 Abraços
 --
 JotaComm
 http://jotacomm.wordpress.com

 ___
 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 mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Como usar o CRETE ROLE com password já criptografado?

2012-11-14 Por tôpico Renato Ricci
É o que eu estou fazendo Jacson... gero a senha md5 e gravo na minha
tabela.. ai a trigger dispara e cria o usuário no banco.. porém, no momento
da criação do usuário no banco, eu não tenho a senha descriptografada.. ou
seja.. eu queria criar o usuário no banco com a senha que veio da tabela
(que já está no formato MD5)

Renato


Em 14 de novembro de 2012 16:16, Crauss, Jacson cra...@gmail.com escreveu:

 Renato,

 A criptografia para 123456 realmente é e10adc3949ba59abbe56e057f20f883e.

 Utilize no seu psql a query select Md5('senha'); para gerar a
 criptografia da senha que você utilizará na criação do usuário, não copie
 da tela do PgAdmin de um user já criado, por exemplo.

 Jacson Crauss


 2012/11/14 Renato Ricci renatoricc...@gmail.com

 Não acontece erro.. O usuário é criado normalmente no banco.. apenas sua
 autenticação que não é aceita..
 Fiz alguns testes, tipo

 Criei um usuario na mão:

 Create role teste with password '123456';
 a senha gerada para o usuario teste é:
 'md5ce5b428f93ab83af44e2780e51c339e9'

 porém, um usuário da minha tabela, também com a senha 123456,  quando a
 trigger executa o create role, o usuário é criado com a senha:
 'md5e10adc3949ba59abbe56e057f20f883e'

 Creio que a autenticação não esteja funcionando por esse motivo..

 Renato



 Em 14 de novembro de 2012 15:42, JotaComm jota.c...@gmail.com escreveu:

 Opa,

 Em 14 de novembro de 2012 15:26, Renato Ricci 
 renatoricc...@gmail.comescreveu:

 Olá pessoal..

 Tenho uma tabela de usuários onde armazeno o usuário e senha de acesso
 do sistema. A senha já está criptografada com MD5.

 Eu preciso replicar esses usuários para a tabela nativa de usuários do
 PostgreSQL através do comando create role e manter a mesma senha. Já tentei
 o comando abaixo, mas sem sucesso:

 Trigger Function:
 DECLARE
 v_senha varchar();
 BEGIN
 v_senha := 'md5' || (new.usu_senha);
   execute 'CREATE ROLE ' || new.usu_usuario || ' NOINHERIT LOGIN
 UNENCRYPTED PASSWORD ' || quote_literal(v_senha) ;
   return new;
 END;

 Alguma sugestão?


 Qual o problema/erro que você esta tendo?


 Obrigado,
 Renato

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



 Abraços
 --
 JotaComm
 http://jotacomm.wordpress.com

 ___
 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 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] Como usar o CRETE ROLE com password já criptografado?

2012-11-14 Por tôpico Matheus de Oliveira
2012/11/14 Renato Ricci renatoricc...@gmail.com

 Não acontece erro.. O usuário é criado normalmente no banco.. apenas sua
 autenticação que não é aceita..
 Fiz alguns testes, tipo

 Criei um usuario na mão:

 Create role teste with password '123456';
 a senha gerada para o usuario teste é:
 'md5ce5b428f93ab83af44e2780e51c339e9'

 porém, um usuário da minha tabela, também com a senha 123456,  quando a
 trigger executa o create role, o usuário é criado com a senha:
 'md5e10adc3949ba59abbe56e057f20f883e'

 Creio que a autenticação não esteja funcionando por esse motivo..


Exato.

O PostgreSQL não faz um MD5 puro, ele utiliza um sal (ou *salt*). Sem a
senha original não vai dar, a não ser que você procure pelo exato método
usado para o sal, é possível que seja baseado no MD5 original da senha, daí
será possível, carece de pesquisa (ou estudo do código-fonte).





 Em 14 de novembro de 2012 15:42, JotaComm jota.c...@gmail.com escreveu:

 Opa,

 Em 14 de novembro de 2012 15:26, Renato Ricci 
 renatoricc...@gmail.comescreveu:

 Olá pessoal..

 Tenho uma tabela de usuários onde armazeno o usuário e senha de acesso
 do sistema. A senha já está criptografada com MD5.

 Eu preciso replicar esses usuários para a tabela nativa de usuários do
 PostgreSQL através do comando create role e manter a mesma senha. Já tentei
 o comando abaixo, mas sem sucesso:

 Trigger Function:
 DECLARE
 v_senha varchar();
 BEGIN
 v_senha := 'md5' || (new.usu_senha);
   execute 'CREATE ROLE ' || new.usu_usuario || ' NOINHERIT LOGIN
 UNENCRYPTED PASSWORD ' || quote_literal(v_senha) ;
   return new;
 END;

 Alguma sugestão?


 Qual o problema/erro que você esta tendo?


 Obrigado,
 Renato

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



 Abraços
 --
 JotaComm
 http://jotacomm.wordpress.com

 ___
 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




-- 
Matheus de Oliveira
Analista de Banco de Dados PostgreSQL
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Como usar o CRETE ROLE com password já criptografado?

2012-11-14 Por tôpico JotaComm
Opa,

Em 14 de novembro de 2012 17:25, Renato Ricci renatoricc...@gmail.comescreveu:

 Humm! Entendido Matheus! Faz sentido... Vou ver o que posso fazer para
 passar a senha descriptografada.. talvez eu execute o comando create role
 direto da aplicação quando o usuário digitar a senha(antes de criptografar)
 ao invés da trigger. Mas vou analisar com cautela a situação..

 De qualquer maneira muito obrigado pelo esclarecimento..


Uma curiosidade: Para cada usuário da aplicação você vai criar um usuário
no banco? Realmente existe esta necessidade?


 T+

 Renato


 Em 14 de novembro de 2012 17:17, Matheus de Oliveira 
 matioli.math...@gmail.com escreveu:


 2012/11/14 Matheus de Oliveira matioli.math...@gmail.com


 2012/11/14 Renato Ricci renatoricc...@gmail.com

 Não acontece erro.. O usuário é criado normalmente no banco.. apenas
 sua autenticação que não é aceita..
 Fiz alguns testes, tipo

 Criei um usuario na mão:

 Create role teste with password '123456';
 a senha gerada para o usuario teste é:
 'md5ce5b428f93ab83af44e2780e51c339e9'

 porém, um usuário da minha tabela, também com a senha 123456,  quando a
 trigger executa o create role, o usuário é criado com a senha:
 'md5e10adc3949ba59abbe56e057f20f883e'

 Creio que a autenticação não esteja funcionando por esse motivo..


 Exato.

 O PostgreSQL não faz um MD5 puro, ele utiliza um sal (ou *salt*). Sem a
 senha original não vai dar, a não ser que você procure pelo exato método
 usado para o sal, é possível que seja baseado no MD5 original da senha, daí
 será possível, carece de pesquisa (ou estudo do código-fonte).



 Fiz uma pergunta rápida no IRC, e parece que o método é md5(senha +
 salt), sendo o salt baseado no nome do usuário. Logo, a partir da senha
 já em MD5 não vai rolar.

 O ideal é você recriar senhas para esses usuários e pedirem pra
 recadastrarem, ou então, cria um furo de segurança temporário na aplicação
 e salva a senha quando o cara logar (evite).






 Em 14 de novembro de 2012 15:42, JotaComm jota.c...@gmail.comescreveu:

 Opa,

 Em 14 de novembro de 2012 15:26, Renato Ricci renatoricc...@gmail.com
  escreveu:

 Olá pessoal..

 Tenho uma tabela de usuários onde armazeno o usuário e senha de
 acesso do sistema. A senha já está criptografada com MD5.

 Eu preciso replicar esses usuários para a tabela nativa de usuários
 do PostgreSQL através do comando create role e manter a mesma senha. Já
 tentei o comando abaixo, mas sem sucesso:

 Trigger Function:
 DECLARE
 v_senha varchar();
 BEGIN
 v_senha := 'md5' || (new.usu_senha);
   execute 'CREATE ROLE ' || new.usu_usuario || ' NOINHERIT LOGIN
 UNENCRYPTED PASSWORD ' || quote_literal(v_senha) ;
   return new;
 END;

 Alguma sugestão?


 Qual o problema/erro que você esta tendo?





 --
 Matheus de Oliveira
 Analista de Banco de Dados PostgreSQL
 Dextra Sistemas - MPS.Br nível F!
 www.dextra.com.br/postgres



 ___
 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



Abraços
-- 
JotaComm
http://jotacomm.wordpress.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral