Re: [pgbr-geral] Tratamento de Contrabarra

2012-08-07 Por tôpico Matheus de Oliveira
2012/8/6 Anselmo Silva anselmo@gmail.com

 Matheus, obrigado.
 A Linguagem: Delphi. Como eu disse anteriormente o usuário é quem digita a
 contrabarra.
 Como Alguns usuários já acabaram se acostumando em usar a barra como
 coringa, estou momentaneamente contornando
 com uma função do Dephi *ReplaceStr(where,'\', '%').*
 Não estou tratando contra SQL injection, preciso ler mais sobre. Para essa
 gambiarra temporária haveria riscos de SQL injection?


Nossa, agora que eu entendi que a barra é o coringa. Particularmente já vi
usar como coringa interrogação e asterisco, barra é a primeira vez... =P

Mas então, o risco de SQL Injection não está na barra, está se o cara
digitar um apóstrofo (aspa simples).
Imagine só, se o cara digita isso aqui numa tela de login:

login: admin' or 1 = 1; --
senha: qualquer coisa

Daí você faz a consulta +/- assim:

sql = SELECT * FROM login WHERE login = ' + login + ' AND senha = '
+ senha ';

O SQL final ficaria:

SELECT * FROM login WHERE login = 'admin' or 1 = 1; --' AND senha =
'qualquer coisa';

Ou seja, o cara estaria logado como admin (veja que depois do -- é
comentário).

Se você tratar pelo menos a aspa simples, por exemplo trocando por duas
aspas, você estará livre de SQL Injection. Uma dica boa é usar PREPARED
STATEMENTS que já faz tudo isso pra você.

Atenciosamente,
--
Matheus de Oliveira
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tratamento de Contrabarra

2012-08-07 Por tôpico Marcelo Silva
Por isso deve-se evitar conferir a senha no SQL

O melhor é assim

Select * From Login Where (login = ‘”+var_login+”’)

// Confere se pegou o login
if (Result  0)

Depois de Trazer o login  faz um IF

if (SuaQuery.SeuCampoSenha = VariavelSenha) 

Prossegue...

Assim ele pode colocar a injeção que quiser no SELECT pois quem verifica a 
senha é o IF

Ou seja, verifique o login e senha separadamente

* Por que o uso de “( )” ?

Isso evita injeção sem formatação, por exemplo a=b and 


From: Matheus de Oliveira 
Sent: Tuesday, August 07, 2012 8:32 AM
To: Comunidade PostgreSQL Brasileira 
Subject: Re: [pgbr-geral] Tratamento de Contrabarra


2012/8/6 Anselmo Silva anselmo@gmail.com

  Matheus, obrigado.
  A Linguagem: Delphi. Como eu disse anteriormente o usuário é quem digita a 
contrabarra. 
  Como Alguns usuários já acabaram se acostumando em usar a barra como 
coringa, estou momentaneamente contornando
  com uma função do Dephi ReplaceStr(where,'\', '%').

  Não estou tratando contra SQL injection, preciso ler mais sobre. Para essa 
gambiarra temporária haveria riscos de SQL injection?



Nossa, agora que eu entendi que a barra é o coringa. Particularmente já vi usar 
como coringa interrogação e asterisco, barra é a primeira vez... =P

Mas então, o risco de SQL Injection não está na barra, está se o cara digitar 
um apóstrofo (aspa simples).
Imagine só, se o cara digita isso aqui numa tela de login:

login: admin' or 1 = 1; --
senha: qualquer coisa

Daí você faz a consulta +/- assim:

sql = SELECT * FROM login WHERE login = ' + login + ' AND senha = ' + 
senha ';

O SQL final ficaria:

SELECT * FROM login WHERE login = 'admin' or 1 = 1; --' AND senha = 
'qualquer coisa';

Ou seja, o cara estaria logado como admin (veja que depois do -- é 
comentário).

Se você tratar pelo menos a aspa simples, por exemplo trocando por duas aspas, 
você estará livre de SQL Injection. Uma dica boa é usar PREPARED STATEMENTS que 
já faz tudo isso pra você.

Atenciosamente,
--
Matheus de Oliveira






___
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] Tratamento de Contrabarra

2012-08-07 Por tôpico Marcelo Silva
Por isso deve-se evitar conferir a senha no SQL

O melhor é assim

Select * From Login Where (login = ‘”+var_login+”’)

// Confere se pegou o login
if (Result  0)

Depois de Trazer o login faz um IF

if (SuaQuery.SeuCampoSenha = VariavelSenha)

Prossegue...

Assim ele pode colocar a injeção que quiser no SELECT pois quem verifica a 
senha é o IF

Ou seja, verifique o login e senha separadamente

* Por que o uso de “( )” ?

Isso evita injeção sem formatação, por exemplo
a=b and c=d

Se vc tiver um separador ele vai ter que formatar tamebm na injeção

(a=b)and(c=d)

Se ele colocar uma injeção em b ou d vai ficar

(a=admin or 1=1; -- ')...

Veja que vai falta fechar o ) gerando um erro

Claro que o cara vai tentar de tudo, mas vamos dificultar o máximo :)


Marcelo Silva
--



From: Matheus de Oliveira
Sent: Tuesday, August 07, 2012 8:32 AM
To: Comunidade PostgreSQL Brasileira
Subject: Re: [pgbr-geral] Tratamento de Contrabarra


2012/8/6 Anselmo Silva anselmo@gmail.com

Matheus, obrigado.
A Linguagem: Delphi. Como eu disse anteriormente o usuário é quem digita a 
contrabarra.
Como Alguns usuários já acabaram se acostumando em usar a barra como 
coringa, estou momentaneamente contornando
com uma função do Dephi ReplaceStr(where,'\', '%').

Não estou tratando contra SQL injection, preciso ler mais sobre. Para essa 
gambiarra temporária haveria riscos de SQL injection?



Nossa, agora que eu entendi que a barra é o coringa. Particularmente já vi 
usar como coringa interrogação e asterisco, barra é a primeira vez... =P

Mas então, o risco de SQL Injection não está na barra, está se o cara 
digitar um apóstrofo (aspa simples).
Imagine só, se o cara digita isso aqui numa tela de login:

login: admin' or 1 = 1; --
senha: qualquer coisa

Daí você faz a consulta +/- assim:

sql = SELECT * FROM login WHERE login = ' + login + ' AND senha = ' 
+ senha ';

O SQL final ficaria:

SELECT * FROM login WHERE login = 'admin' or 1 = 1; --' AND senha = 
'qualquer coisa';

Ou seja, o cara estaria logado como admin (veja que depois do -- é 
comentário).

Se você tratar pelo menos a aspa simples, por exemplo trocando por duas 
aspas, você estará livre de SQL Injection. Uma dica boa é usar PREPARED 
STATEMENTS que já faz tudo isso pra você.

Atenciosamente,
--
Matheus de Oliveira



___
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] Tratamento de Contrabarra

2012-08-07 Por tôpico Anselmo Silva
Obrigado pelas dicas sobre SQL injection. Minha senha está criptografada na
base e no SGDB. Não é permitido o uso do apóstrofo no login. Somente letras
e números.
Mas, em conclusão sobre o tema do tópico. Só tem jeito se tratar a
aplicação nesse caso, né?

Em 7 de agosto de 2012 08:54, Marcelo Silva marc...@ig.com.br escreveu:

 Por isso deve-se evitar conferir a senha no SQL

 O melhor é assim

 Select * From Login Where (login = ‘”+var_login+”’)

 // Confere se pegou o login
 if (Result  0)

 Depois de Trazer o login faz um IF

 if (SuaQuery.SeuCampoSenha = VariavelSenha)

 Prossegue...

 Assim ele pode colocar a injeção que quiser no SELECT pois quem verifica a
 senha é o IF

 Ou seja, verifique o login e senha separadamente

 * Por que o uso de “( )” ?

 Isso evita injeção sem formatação, por exemplo
 a=b and c=d

 Se vc tiver um separador ele vai ter que formatar tamebm na injeção

 (a=b)and(c=d)

 Se ele colocar uma injeção em b ou d vai ficar

 (a=admin or 1=1; -- ')...

 Veja que vai falta fechar o ) gerando um erro

 Claro que o cara vai tentar de tudo, mas vamos dificultar o máximo :)


 Marcelo Silva
 --



 From: Matheus de Oliveira
 Sent: Tuesday, August 07, 2012 8:32 AM
 To: Comunidade PostgreSQL Brasileira
 Subject: Re: [pgbr-geral] Tratamento de Contrabarra


 2012/8/6 Anselmo Silva anselmo@gmail.com

 Matheus, obrigado.
 A Linguagem: Delphi. Como eu disse anteriormente o usuário é quem digita a
 contrabarra.
 Como Alguns usuários já acabaram se acostumando em usar a barra como
 coringa, estou momentaneamente contornando
 com uma função do Dephi ReplaceStr(where,'\', '%').

 Não estou tratando contra SQL injection, preciso ler mais sobre. Para essa
 gambiarra temporária haveria riscos de SQL injection?



 Nossa, agora que eu entendi que a barra é o coringa. Particularmente já vi
 usar como coringa interrogação e asterisco, barra é a primeira vez... =P

 Mas então, o risco de SQL Injection não está na barra, está se o cara
 digitar um apóstrofo (aspa simples).
 Imagine só, se o cara digita isso aqui numa tela de login:

 login: admin' or 1 = 1; --
 senha: qualquer coisa

 Daí você faz a consulta +/- assim:

 sql = SELECT * FROM login WHERE login = ' + login + ' AND senha = '
 + senha ';

 O SQL final ficaria:

 SELECT * FROM login WHERE login = 'admin' or 1 = 1; --' AND senha =
 'qualquer coisa';

 Ou seja, o cara estaria logado como admin (veja que depois do -- é
 comentário).

 Se você tratar pelo menos a aspa simples, por exemplo trocando por duas
 aspas, você estará livre de SQL Injection. Uma dica boa é usar PREPARED
 STATEMENTS que já faz tudo isso pra você.

 Atenciosamente,
 --
 Matheus de Oliveira



 ___
 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




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


Re: [pgbr-geral] Tratamento de Contrabarra

2012-08-07 Por tôpico Matheus de Oliveira
2012/8/7 Marcelo Silva marc...@ig.com.br

 Por isso deve-se evitar conferir a senha no SQL

 O melhor é assim

 Select * From Login Where (login = ‘”+var_login+”’)

 // Confere se pegou o login
 if (Result  0)

 Depois de Trazer o login faz um IF

 if (SuaQuery.SeuCampoSenha = VariavelSenha)

 Prossegue...

 Assim ele pode colocar a injeção que quiser no SELECT pois quem verifica a
 senha é o IF

 Ou seja, verifique o login e senha separadamente

 * Por que o uso de “( )” ?

 Isso evita injeção sem formatação, por exemplo
 a=b and c=d

 Se vc tiver um separador ele vai ter que formatar tamebm na injeção

 (a=b)and(c=d)

 Se ele colocar uma injeção em b ou d vai ficar

 (a=admin or 1=1; -- ')...

 Veja que vai falta fechar o ) gerando um erro

 Claro que o cara vai tentar de tudo, mas vamos dificultar o máximo :)


Não é a questão de testar a senha ou não via SQL, o que eu também não
gosto, mas mesmo da forma que você passou um erro será gerado, e, se esse
erro não for tratado corretamente o cara poderá ver esse erro e identificar
a correção, daí é só o cara adicionar o parentese também.

O ideal é tratar a string e evitar o erro.

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


Re: [pgbr-geral] Tratamento de Contrabarra

2012-08-07 Por tôpico Marcelo Silva
Na verdade não se deve deixar o servidor exibir erros padrão para o usuário 
final, 
como você disse deve-se tratar o erro e exibir uma mensagem amigável ao usuário.
Acho que o uso do Try nesse caso poderia ser uma solução imediata.

no caso do delphi
try
  Verifica
  Deu erro para pro except
except
  Erro no login
end


Quanto a limitar o uso de caracteres no login e senha, eu já não gosto de 
colocar limitações para o usuário,
mas aí é questão de gosto (ou necessidade da empresa talvez),
nesses casos o que pesa pra mim é que o usuário leigo (que é o foco) vai ficar 
tentando digitar justamente aquele caractere que não pode, 
e vai vir correndo dizer que o sistema não funciona, rsrsrs

Tratar esse detalhes na aplicação é o que demanda tempo...


Marcelo Silva
-



From: Matheus de Oliveira 
Sent: Tuesday, August 07, 2012 9:21 AM
To: Comunidade PostgreSQL Brasileira 
Subject: Re: [pgbr-geral] Tratamento de Contrabarra




2012/8/7 Marcelo Silva marc...@ig.com.br

  Por isso deve-se evitar conferir a senha no SQL

  O melhor é assim

  Select * From Login Where (login = ‘”+var_login+”’)

  // Confere se pegou o login
  if (Result  0)

  Depois de Trazer o login faz um IF

  if (SuaQuery.SeuCampoSenha = VariavelSenha)

  Prossegue...

  Assim ele pode colocar a injeção que quiser no SELECT pois quem verifica a
  senha é o IF

  Ou seja, verifique o login e senha separadamente

  * Por que o uso de “( )” ?

  Isso evita injeção sem formatação, por exemplo

  a=b and c=d

  Se vc tiver um separador ele vai ter que formatar tamebm na injeção

  (a=b)and(c=d)

  Se ele colocar uma injeção em b ou d vai ficar

  (a=admin or 1=1; -- ')...

  Veja que vai falta fechar o ) gerando um erro

  Claro que o cara vai tentar de tudo, mas vamos dificultar o máximo :)



Não é a questão de testar a senha ou não via SQL, o que eu também não gosto, 
mas mesmo da forma que você passou um erro será gerado, e, se esse erro não for 
tratado corretamente o cara poderá ver esse erro e identificar a correção, daí 
é só o cara adicionar o parentese também.

O ideal é tratar a string e evitar o erro.

--
Matheus de Oliveira
  






___
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] Tratamento de Contrabarra

2012-08-07 Por tôpico Alexsander Rosa
Ou então grave um md5(senha||pitada_de_sal) no banco e compare o digest ao
invés da senha.

Em 7 de agosto de 2012 09:20, Anselmo Silva anselmo@gmail.comescreveu:

 Obrigado pelas dicas sobre SQL injection. Minha senha está criptografada
 na base e no SGDB. Não é permitido o uso do apóstrofo no login. Somente
 letras e números.
 Mas, em conclusão sobre o tema do tópico. Só tem jeito se tratar a
 aplicação nesse caso, né?


-- 
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


[pgbr-geral] Ultimos N Registros de cada item.

2012-08-07 Por tôpico Ciro
Boa tarde pessoal.

Queria saber se é possível e como fazer para trazer os últimos N registros
em um select.
Por exemplo:

ITEMCOR VENDA
CAMISA  AZUL09/07/2012 17:37
CAMISA  AZUL13/07/2012 08:57
CAMISA  AZUL19/07/2012 14:33
CAMISA  AZUL25/07/2012 08:05
CAMISA  AMARELA 02/08/2012 11:12
CAMISA  VERDE   06/07/2012 09:27
CAMISA  VERDE   13/07/2012 07:06
CAMISA  VERDE   13/07/2012 19:19
CAMISA  VERDE   18/07/2012 06:25
CAMISA  VERDE   01/08/2012 19:10
CALCA   VERMELHA30/07/2012 22:55
CALCA   VERMELHA03/08/2012 19:12
CAMISA  PRETA   03/07/2012 18:06
CAMISA  PRETA   13/07/2012 07:06
CAMISA  PRETA   16/07/2012 08:31
CAMISA  PRETA   19/07/2012 17:27
CAMISA  PRETA   31/07/2012 17:06
CALCA   BRANCA  05/07/2012 18:04
CALCA   BRANCA  06/07/2012 19:25
CALCA   BRANCA  13/07/2012 19:22
CALCA   BRANCA  19/07/2012 06:37
CALCA   BRANCA  19/07/2012 09:13
CALCA   BRANCA  19/07/2012 17:20



Queria saber como trazer apenas as ultimas 3 vendas (claro q se um item não
teve 3 vendas só vai trazer a quantidade que teve) de cada item-cor.

Isso é possível ?

Obrigado!



--
View this message in context: 
http://postgresql.1045698.n5.nabble.com/Ultimos-N-Registros-de-cada-item-tp5719120.html
Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Qual o melhor metodo de replicacao?

2012-08-07 Por tôpico Nelson Luiz Gonzaga
Ola lista,
Tenho um BD de aproximadamente 60GB e preciso acessa-lo(leitura e gravacao)
de outro escritorio a 30Km daqui.
Pensei em replicar este banco, mas como? Slony-I? O nativo do
PostgreSQL(PITR)?
A Infra daqui ainda nao sabe qual vai ser o link entre os escritorios e eu
to meio(muito) perdido...

Alguem tem algum material comparativo(disponibilidade, balanceamento), ou
How-To dos metodos de replicacao?

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


Re: [pgbr-geral] Ultimos N Registros de cada item.

2012-08-07 Por tôpico Osvaldo Kussama
Em 07/08/12, Cirocir...@gmail.com escreveu:
 Boa tarde pessoal.

 Queria saber se é possível e como fazer para trazer os últimos N registros
 em um select.
 Por exemplo:

 ITEM  COR VENDA
 CAMISAAZUL09/07/2012 17:37
 CAMISAAZUL13/07/2012 08:57
 CAMISAAZUL19/07/2012 14:33
 CAMISAAZUL25/07/2012 08:05
 CAMISAAMARELA 02/08/2012 11:12
 CAMISAVERDE   06/07/2012 09:27
 CAMISAVERDE   13/07/2012 07:06
 CAMISAVERDE   13/07/2012 19:19
 CAMISAVERDE   18/07/2012 06:25
 CAMISAVERDE   01/08/2012 19:10
 CALCA VERMELHA30/07/2012 22:55
 CALCA VERMELHA03/08/2012 19:12
 CAMISAPRETA   03/07/2012 18:06
 CAMISAPRETA   13/07/2012 07:06
 CAMISAPRETA   16/07/2012 08:31
 CAMISAPRETA   19/07/2012 17:27
 CAMISAPRETA   31/07/2012 17:06
 CALCA BRANCA  05/07/2012 18:04
 CALCA BRANCA  06/07/2012 19:25
 CALCA BRANCA  13/07/2012 19:22
 CALCA BRANCA  19/07/2012 06:37
 CALCA BRANCA  19/07/2012 09:13
 CALCA BRANCA  19/07/2012 17:20



 Queria saber como trazer apenas as ultimas 3 vendas (claro q se um item não
 teve 3 vendas só vai trazer a quantidade que teve) de cada item-cor.

 Isso é possível ?



Sim, use window functions.
Veja exemplo em:
http://www.postgresql.org/docs/current/interactive/tutorial-window.html

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


Re: [pgbr-geral] Qual o melhor metodo de replicacao?

2012-08-07 Por tôpico Itamar Reis Peixoto
2012/8/7 Nelson Luiz Gonzaga ngonz...@ig.com.br:
 Ola lista,
 Tenho um BD de aproximadamente 60GB e preciso acessa-lo(leitura e gravacao)
 de outro escritorio a 30Km daqui.
 Pensei em replicar este banco, mas como? Slony-I? O nativo do
 PostgreSQL(PITR)?
 A Infra daqui ainda nao sabe qual vai ser o link entre os escritorios e eu
 to meio(muito) perdido...

 Alguem tem algum material comparativo(disponibilidade, balanceamento), ou
 How-To dos metodos de replicacao?

 Valeu,
 NG


eu utlizo o bucardo e tem atendido bem.




Itamar Reis Peixoto
msn, google talk: ita...@ispbrasil.com.br
+55 11 4063 5033 (FIXO SP)
+55 34 9158 9329 (TIM)
+55 34 8806 3989 (OI)
+55 34 3221 8599 (FIXO MG)
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Qual o melhor metodo de replicacao?

2012-08-07 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2012/8/7 Nelson Luiz Gonzaga ngonz...@ig.com.br:
 Tenho um BD de aproximadamente 60GB e preciso acessa-lo(leitura e gravacao)
 de outro escritorio a 30Km daqui.

É perto.


 Pensei em replicar este banco

Por quê?


 A Infra daqui ainda nao sabe qual vai ser o link entre os escritorios e eu
 to meio(muito) perdido...

Não coloque o carro na frente dos bois.  O ideal é acesso via
terminal… e, dependendo da aplicação e da conexão, pode ser mais
simples o cliente remoto, mesmo.


 Alguem tem algum material comparativo(disponibilidade, balanceamento), ou
 How-To dos metodos de replicacao?

Documentação respectiva?
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Qual o melhor metodo de replicacao?

2012-08-07 Por tôpico Danilo Silva
Em 7 de agosto de 2012 13:44, Itamar Reis Peixoto
ita...@ispbrasil.com.brescreveu:

 2012/8/7 Nelson Luiz Gonzaga ngonz...@ig.com.br:
  Ola lista,
  Tenho um BD de aproximadamente 60GB e preciso acessa-lo(leitura e
 gravacao)
  de outro escritorio a 30Km daqui.
  Pensei em replicar este banco, mas como? Slony-I? O nativo do
  PostgreSQL(PITR)?
  A Infra daqui ainda nao sabe qual vai ser o link entre os escritorios e
 eu
  to meio(muito) perdido...
 
  Alguem tem algum material comparativo(disponibilidade, balanceamento), ou
  How-To dos metodos de replicacao?
 
  Valeu,
  NG


Eu utiliza replicação streaming replication. Dependendo da sua necessidade,
poderá acessar o master via host para efetuar leitura e gravação,
independente do seu método de replicação / balanceamento de carga.

Att.

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


Re: [pgbr-geral] Ultimos N Registros de cada item.

2012-08-07 Por tôpico Marcelo Silva
Um exemplo simples de SELECT

select
  a.codigo,
  a.descricao,
  b.data_cad
from produtos a
inner join (select codigo, max(data_cad) as data_cad
  from vendas_itens
  group by codigo) b on(b.codigo = a.codigo)
order by a.codigo

Espero que ajude...


Marcelo Silva
---




-Mensagem Original- 
From: Osvaldo Kussama
Sent: Tuesday, August 07, 2012 1:44 PM
To: Comunidade PostgreSQL Brasileira
Subject: Re: [pgbr-geral] Ultimos N Registros de cada item.

Em 07/08/12, Cirocir...@gmail.com escreveu:
 Boa tarde pessoal.

 Queria saber se é possível e como fazer para trazer os últimos N registros
 em um select.
 Por exemplo:

 ITEM COR   VENDA
 CAMISA AZUL  09/07/2012 17:37
 CAMISA AZUL   13/07/2012 08:57
 CAMISA AZUL   19/07/2012 14:33
 CAMISA AZUL  25/07/2012 08:05
 CAMISA AMARELA 02/08/2012 11:12
 CAMISA VERDE 06/07/2012 09:27
 CAMISA VERDE 13/07/2012 07:06
 CAMISA VERDE 13/07/2012 19:19
 CAMISA VERDE 18/07/2012 06:25
 CAMISA VERDE 01/08/2012 19:10
 CALCA VERMELHA 30/07/2012 22:55
 CALCA VERMELHA 03/08/2012 19:12
 CAMISA PRETA 03/07/2012 18:06
 CAMISA PRETA 13/07/2012 07:06
 CAMISA PRETA 16/07/2012 08:31
 CAMISA PRETA 19/07/2012 17:27
 CAMISA PRETA 31/07/2012 17:06
 CALCA BRANCA 05/07/2012 18:04
 CALCA BRANCA 06/07/2012 19:25
 CALCA BRANCA 13/07/2012 19:22
 CALCA BRANCA 19/07/2012 06:37
 CALCA BRANCA 19/07/2012 09:13
 CALCA BRANCA 19/07/2012 17:20



 Queria saber como trazer apenas as ultimas 3 vendas (claro q se um item 
 não
 teve 3 vendas só vai trazer a quantidade que teve) de cada item-cor.

 Isso é possível ?



Sim, use window functions.
Veja exemplo em:
http://www.postgresql.org/docs/current/interactive/tutorial-window.html

Osvaldo
___
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] Qual o melhor metodo de replicacao?

2012-08-07 Por tôpico Flávio Alves Granato
Em 07/08/2012 14:04, Guimarães Faria Corcete DUTRA, Leandro escreveu:
 2012/8/7 Nelson Luiz Gonzaga ngonz...@ig.com.br:
 Tenho um BD de aproximadamente 60GB e preciso acessa-lo(leitura e gravacao)
 de outro escritorio a 30Km daqui.
 É perto.


 Pensei em replicar este banco
 Por quê?

Concordo com o Leandro, não são 30 km que vão deixar o acesso via rede 
mais lento...
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Qual o melhor metodo de replicacao?

2012-08-07 Por tôpico Nelson Luiz Gonzaga
Valeu pelos comentarios.

Mas o cenario aqui é um pouco mais complicado:
Este banco é um GED que gerencia documentos e alguns destes tem ate 70 Mb
por isso pensei em um servidor remoto para replicacao(pelo menos dos
documentos).

Vou continuar pesquisando.





Em 7 de agosto de 2012 15:14, Flávio Alves Granato flavio.gran...@gmail.com
 escreveu:

 Em 07/08/2012 14:04, Guimarães Faria Corcete DUTRA, Leandro escreveu:
  2012/8/7 Nelson Luiz Gonzaga ngonz...@ig.com.br:
  Tenho um BD de aproximadamente 60GB e preciso acessa-lo(leitura e
 gravacao)
  de outro escritorio a 30Km daqui.
  É perto.
 
 
  Pensei em replicar este banco
  Por quê?
 
 Concordo com o Leandro, não são 30 km que vão deixar o acesso via rede
 mais lento...
 ___
 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] Qual o melhor metodo de replicacao?

2012-08-07 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2012/8/7 Nelson Luiz Gonzaga ngonz...@ig.com.br:

 Este banco é um GED que gerencia documentos e alguns destes tem ate 70 Mb

Imagino que sejam MB, não Mb?

Tanto mais vantajoso se der para usar terminais ou janelas remotas
(X11, VNC, RDP, ICA ou similar), evitando transferências
desnecessárias.


 por isso pensei em um servidor remoto para replicacao(pelo menos dos
 documentos).

Pode ser.  Mas faltam informações para poder recomendar algo.  Mil
maneiras de fazer Neston.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Qual o melhor metodo de replicacao?

2012-08-07 Por tôpico Jean Domingues
Eu sugiro que sua aplicação rode num servidor para acesso remoto via terminal 
server, ou algo similar. Assim, você só trafega a atualização de tela.

Jean Domingues.



 De: Nelson Luiz Gonzaga ngonz...@ig.com.br
Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br 
Enviadas: Terça-feira, 7 de Agosto de 2012 16:14
Assunto: Re: [pgbr-geral] Qual o melhor metodo de replicacao?
 

Valeu pelos comentarios.


Mas o cenario aqui é um pouco mais complicado:
Este banco é um GED que gerencia documentos e alguns destes tem ate 70 Mb por 
isso pensei em um servidor remoto para replicacao(pelo menos dos documentos).


Vou continuar pesquisando.









Em 7 de agosto de 2012 15:14, Flávio Alves Granato flavio.gran...@gmail.com 
escreveu:

Em 07/08/2012 14:04, Guimarães Faria Corcete DUTRA, Leandro escreveu:

 2012/8/7 Nelson Luiz Gonzaga ngonz...@ig.com.br:
 Tenho um BD de aproximadamente 60GB e preciso acessa-lo(leitura e gravacao)
 de outro escritorio a 30Km daqui.
 É perto.


 Pensei em replicar este banco
 Por quê?

Concordo com o Leandro, não são 30 km que vão deixar o acesso via rede
mais lento...

___
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] Transformação de dados

2012-08-07 Por tôpico Bruno Silva
Não entendo essas coisas, se for de graça pode usar o Kettle da Pentaho,
mas se tem dinheiro compre a da Oracle. Porquê? Se pode pagar contribua
pra comunidade, se a Kettle serve pra quando você não tem dinheiro, não
serve pra quando você pode investir?

Bruno E. A. Silva.
Analista de Sistemas.

2012/8/6 Fábio Gibon gi...@comexsystem.com.br

 Reforço a indicação, uso a mesma há 1 ano e pouco e atende legal a maioria
 das integrações. O PDI (Pentaho Data Integration) tem a versão free (CE -
 Community Edition) que é chamada de Kettle (conforme o colega citou).

 Ou se for algum projeto grande e que tenha recur$o$, então uma ótima
 sugestão é a ferramenta da Oracle - ODI (Oracle Data Integration) a qual já
 utilizo há 5 anos e é excelente.

 sds
 Fábio Gibon

 Em 4 de agosto de 2012 13:05, Rodrigo Della Justina 
 rodrigodellajust...@gmail.com escreveu:

 Preciso esconder a complexidade do relacionamento dos dados de minha
 aplicação. Para isso, imagino uma ferramenta de ETL que eu poderia
 configurar as fontes de dados e nessa ferramenta, montar a estrutura
 do relacionamento das fontes.

 Recomendo a ferramenta Pentaho Kettle, se você tem realmente
 várias fontes de dados com certeza lhe atenderá bem.



 --
 *Atenciosamente*
 *
 *
 *Rodrigo Della Justina*
 *rodrigodellajust...@gmail.com*
 *rodrigodellajust...@ciss.com.br*
 Telp: 55-46-8801-6165

 *IBM DB2 Certified Database Academic*
 *
 *


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




 --
 sds

 Fábio Henrique Gibon
 Comex System Consultoria


 ___
 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] Transformação de dados

2012-08-07 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2012/8/7 Bruno Silva bemanuel...@gmail.com

 Não entendo essas coisas, …compre a da Oracle.

Até porque estou para ver algo da Oracle que seja realmente bom.  É
bom de vender, não de usar…
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Transformação de dados

2012-08-07 Por tôpico Bruno Silva
Mas Dutra, não estou nem entrando nesse mérito. Acho absurdo é o fato de
cogitar pagar outro, quando o que me serviu tem também sua versão - mais
completa - paga!
Para mim é o mesmo que pensar Ah o Postgres é muito bom, me atendeu em
tudo. Agora tenho dinheiro vou comprar um XYZ. invés aplicar o dinheiro na
comunidade que meu ajudou todo esse tempo!

Bruno E. A. Silva.
Analista de Sistemas.


2012/8/7 Guimarães Faria Corcete DUTRA, Leandro l...@dutras.org

 2012/8/7 Bruno Silva bemanuel...@gmail.com
 
  Não entendo essas coisas, …compre a da Oracle.

 Até porque estou para ver algo da Oracle que seja realmente bom.  É
 bom de vender, não de usar…
 ___
 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] Transformação de dados

2012-08-07 Por tôpico Flavio Henrique Araque Gurgel

On 07-08-2012 17:14, Bruno Silva wrote:
 Não entendo essas coisas, se for de graça pode usar o Kettle da
 Pentaho, mas se tem dinheiro compre a da Oracle. Porquê? Se pode pagar
 contribua pra comunidade, se a Kettle serve pra quando você não tem
 dinheiro, não serve pra quando você pode investir?

Porque as pessoas confundem livre com de graça e respectivamente 
caro com bom e de graça com porcaria.

Considerem usar o ETL da suíte SpagoBI.
É excelente (eu diria melhor que o Kettle mas cada um é cada um) e o 
SpagoBI é 100% software livre, ao contrário da suíte Pentaho que tem 
módulos proprietários.

[]s

Flavio Henrique A. Gurgel
Consultor e Instrutor 4Linux
Tel: +55-11-2125-4747
www.4linux.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] REMOVER DA LISTA

2012-08-07 Por tôpico fabio . nunes
  

Desejo que meu e-mail seja removido da lista. 

Grato. ___
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 DA LISTA

2012-08-07 Por tôpico Fabrízio de Royes Mello
Em 7 de agosto de 2012 21:16, fabio.nu...@alunos.fasb.edu.br escreveu:

 **

 Desejo que meu e-mail seja removido da lista.


 Olá,

Acesse [1], informe seu e-mail e senha e clique em Desinscrever

[1] https://listas.postgresql.org.br/cgi-bin/mailman/options/pgbr-geral

-- 
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
 Blog sobre TI: http://fabriziomello.blogspot.com
 Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
 Twitter: http://twitter.com/fabriziomello
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral