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
Re: [pgbr-geral] Tratamento de Contrabarra
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
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
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/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
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
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.
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?
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.
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/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/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?
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.
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?
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?
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/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?
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
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/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
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
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
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
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