Re: [pgbr-geral] Licenças (era: firebirs X postgres)

2012-08-18 Por tôpico Alexsander Rosa
Em 17 de agosto de 2012 20:00, Leandro Guimarães Faria Corcete DUTRA 
l...@dutras.org escreveu:

 Le 17/08/12 18:3-0300, Euler Taveira a écrit :

  na licença BSD você tem a *liberdade* de
  fazer o que bem entender. Você pode contra argumentar dizendo que é uma
  restrição para garantir a perpetuação da liberdade mas como afirmou
  Descartes, a liberdade é uma característica essencial da vontade e,
 assim
  sendo, devo possuir vontade (liberdade de escolha) para fazer qualquer
 coisa.

 Não, a vontade não é autônoma, o indivíduo vive em sociedade.  Ou seja,
 a liberdade só faz sentido dentro de um sistema de valores, ou acontece
 a atomização, que leva à lei da selva e à tirania.


Vida, Liberdade e Propriedade, os direitos humanos mais fundamentais de
todos.
Cada um pode fazer o que quiser, desde que não viole estes 3 direitos de
outrem.

-- 
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] Ordenar Datas

2012-08-18 Por tôpico Ramiro Pamponet
Olá Pessoal, sou novo por aqui e estou com uma dúvida. Possuo na minha
tabela de clientes um campo date para guardar a data de nascimento desse
cliente e apartir daí calcular a idade dele em minha aplicação Java. Estava
querendo implementar um lembrete de aniversariantes (toda vez que o sistema
fosse aberto, mostrar todos os clientes que ainda vão fazer aniversário,
ordenados por mês, seguido pelo dia, ignorando o ano, na minha tela
principal). Será que isso é possível utilizando  SQL (PostgreSQL) ou Java?
Aguardo sugestões. Obrigado
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Ordenar Datas

2012-08-18 Por tôpico Fabrízio de Royes Mello
Em 18 de agosto de 2012 10:37, Ramiro Pamponet roli...@oi.com.br escreveu:

 Olá Pessoal, sou novo por aqui e estou com uma dúvida. Possuo na minha
 tabela de clientes um campo date para guardar a data de nascimento desse
 cliente e apartir daí calcular a idade dele em minha aplicação Java. Estava
 querendo implementar um lembrete de aniversariantes (toda vez que o sistema
 fosse aberto, mostrar todos os clientes que ainda vão fazer aniversário,
 ordenados por mês, seguido pelo dia, ignorando o ano, na minha tela
 principal). Será que isso é possível utilizando  SQL (PostgreSQL) ou Java?
 Aguardo sugestões. Obrigado


Se eu entendi bem vc quer algo tipo:

SELECT codigo, nome, data_nascimento
  FROM tabela
ORDER BY extract(MONTH FROM data_nascimento), extract(DAY FROM
data_nascimento);

Att,

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


Re: [pgbr-geral] Ordenar Datas

2012-08-18 Por tôpico Osvaldo Kussama
Em 18/08/12, Ramiro Pamponetroli...@oi.com.br escreveu:
 Olá Pessoal, sou novo por aqui e estou com uma dúvida. Possuo na minha
 tabela de clientes um campo date para guardar a data de nascimento desse
 cliente e apartir daí calcular a idade dele em minha aplicação Java. Estava
 querendo implementar um lembrete de aniversariantes (toda vez que o sistema
 fosse aberto, mostrar todos os clientes que ainda vão fazer aniversário,
 ordenados por mês, seguido pelo dia, ignorando o ano, na minha tela
 principal). Será que isso é possível utilizando  SQL (PostgreSQL) ou Java?
 Aguardo sugestões. Obrigado


Uma possibilidade, para listar os aniversariantes por mês, é:

SELECT nome, to_char(data_de_nascimento, 'MMDD') FROM sua_tabela ORDER BY 2;

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] Ordenar Datas

2012-08-18 Por tôpico Ramiro Pamponet
Vou testar essa query para ver se atende as minhas necessidades, e volto a
postar assim que tiver uma confirmação. Valeu!



Em 18 de agosto de 2012 10:46, Fabrízio de Royes Mello 
fabriziome...@gmail.com escreveu:


 Em 18 de agosto de 2012 10:37, Ramiro Pamponet roli...@oi.com.brescreveu:

 Olá Pessoal, sou novo por aqui e estou com uma dúvida. Possuo na minha
 tabela de clientes um campo date para guardar a data de nascimento desse
 cliente e apartir daí calcular a idade dele em minha aplicação Java. Estava
 querendo implementar um lembrete de aniversariantes (toda vez que o sistema
 fosse aberto, mostrar todos os clientes que ainda vão fazer aniversário,
 ordenados por mês, seguido pelo dia, ignorando o ano, na minha tela
 principal). Será que isso é possível utilizando  SQL (PostgreSQL) ou Java?
 Aguardo sugestões. Obrigado


 Se eu entendi bem vc quer algo tipo:

 SELECT codigo, nome, data_nascimento
   FROM tabela
 ORDER BY extract(MONTH FROM data_nascimento), extract(DAY FROM
 data_nascimento);

 Att,

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


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


Re: [pgbr-geral] Ordenar Datas

2012-08-18 Por tôpico Ramiro Pamponet
Vou testar essa query também e avaliar o seu retorno, comparando com a
resposta data pelo Fabrízio de Royes Mello. Valeu pela dica Também!



Em 18 de agosto de 2012 10:51, Osvaldo Kussama
osvaldo.kuss...@gmail.comescreveu:

 Em 18/08/12, Ramiro Pamponetroli...@oi.com.br escreveu:
  Olá Pessoal, sou novo por aqui e estou com uma dúvida. Possuo na minha
  tabela de clientes um campo date para guardar a data de nascimento desse
  cliente e apartir daí calcular a idade dele em minha aplicação Java.
 Estava
  querendo implementar um lembrete de aniversariantes (toda vez que o
 sistema
  fosse aberto, mostrar todos os clientes que ainda vão fazer aniversário,
  ordenados por mês, seguido pelo dia, ignorando o ano, na minha tela
  principal). Será que isso é possível utilizando  SQL (PostgreSQL) ou
 Java?
  Aguardo sugestões. Obrigado
 

 Uma possibilidade, para listar os aniversariantes por mês, é:

 SELECT nome, to_char(data_de_nascimento, 'MMDD') FROM sua_tabela ORDER BY
 2;

 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] Erro de Conexão

2012-08-18 Por tôpico Tiago Adami
Em 17 de agosto de 2012 23:21, Vinicius Santos
vinicius.santos.li...@gmail.com escreveu:
 coisa em tráfego não. Na minha visão de DBA mesmo uma aplicação
 Desktop Client/Server deveria Conectar -- Processar algo -- fechar
 conexão. Pena que algumas ferramentas/IDE não permitam isso por causa
 de seus componentes de acesso à dados...

 Acho que isso não tem a ver com a ferramenta ou IDE. O próprio psql ou
 pgAdmin mantém as conexões abertas.

Posso citar Powerbuilder usando datawindows com a opção Fetch as
Needed. O componente cria um cursor no banco de dados e realiza FETCH
conforme você avança visualmente na tela. Matando a conexão isso não é
possível.

 De qualquer maneira, seria possível fechá-las a cada DML sim, mas acho que
 ficaria mais caro a cada consulta que um usuário fizer, vc
 abrir-consultar-fechar a conexão. Uma inserção nova vc teria que
 abrirConexao()-iniciarTransacao()-DMLs-Commit-fecharConexao();

 Seria interessante fazer testes com a aplicação trabalhando assim e comparar
 os resultados.

É... eu já fiz este teste absurdo no passado - absurdo porque vai
contra a idéia do client/server. Em aplicações Desktop, principalmente
as legadas, isso é praticamente impossível. Eu não me refiro a
encerrar a conexão a cada comando executado, mas a cada processamento,
como por exemplo, o processo inteiro de gravação de uma nota fiscal
depois de ter informado dados do cliente e todos os dados do produto.

-- 
TIAGO J. ADAMI
http://www.adamiworks.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] Ordenar Datas

2012-08-18 Por tôpico Ramiro Pamponet
Fabrizio,

Sua solução atende 99% as minhas necessidades. Fiz umas alterações.

select nome, aniversario from clientes
where extract(MONTH from aniversario) = extract(MONTH from now())
order by extract(MONTH from aniversario), extract(DAY from aniversario)

Mas pra ficar 100% será que não teria como filtrar também pelo dia do mês,
para que não mostre os clientes que já fizeram aniversário naquele mês?
Mostar somente os clientes que ainda irão fazer aniversário, seja dentro do
próprio mês ou nos meses seguintes.

Tentei inluir na query a opção

select ... where ... and extract(DAYfrom aniversario) = extract(DAYfrom
now()) order by ...

mas dessa forma ele pula também os meses em que o dia é = que o dia atual.

ATT

Ramiro


Em 18 de agosto de 2012 10:46, Fabrízio de Royes Mello 
fabriziome...@gmail.com escreveu:


 Em 18 de agosto de 2012 10:37, Ramiro Pamponet roli...@oi.com.brescreveu:

 Olá Pessoal, sou novo por aqui e estou com uma dúvida. Possuo na minha
 tabela de clientes um campo date para guardar a data de nascimento desse
 cliente e apartir daí calcular a idade dele em minha aplicação Java. Estava
 querendo implementar um lembrete de aniversariantes (toda vez que o sistema
 fosse aberto, mostrar todos os clientes que ainda vão fazer aniversário,
 ordenados por mês, seguido pelo dia, ignorando o ano, na minha tela
 principal). Será que isso é possível utilizando  SQL (PostgreSQL) ou Java?
 Aguardo sugestões. Obrigado


 Se eu entendi bem vc quer algo tipo:

 SELECT codigo, nome, data_nascimento
   FROM tabela
 ORDER BY extract(MONTH FROM data_nascimento), extract(DAY FROM
 data_nascimento);

 Att,

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


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


[pgbr-geral] Postgresql distribuído

2012-08-18 Por tôpico Eduardo Alexandre
Boa tarde,

Estou elaborando um projeto no qual há a necessidade de que uma base de
dados seja acessível em vários pontos, mesmo se houver alguma queda de
comunicação.

Estou cogitando a respeito de replicação master-slave ou master slaves e
slave-slave. Considerei também a possibilidade de bancos de dados
distribuídos.

O fato é que, caso a comunicação entre os pontos se interrompa, deve
existir uma base em cada ponto e, ao voltar a comunicação, os dados devem
ser sincromizados.

Alguém já teve necessidade semelhante e pode dividir a experiência ou
sugere referência de material de estudo?


Obrigado,

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


[pgbr-geral] Erro fechando conexão

2012-08-18 Por tôpico Jean Domingues
Pessoal,

uso o component de acesso a dados da Devart para Postgresql. Nunca tive 
problemas, até agora. Estou executando PgSQLCommand e uma rotina multi thread. 
O erro que estou tendo é que a conexão simplesmente fecha. No arquivo de log, 
aparece o seguinte:

2012-08-18 16:53:16 BRT LOG:  não pôde receber dados do cliente: unrecognized 
winsock error 10061
2012-08-18 16:53:16 BRT LOG:  EOF inesperado durante conexão do cliente
2012-08-18 16:55:13 BRT ERRO:  formato de mensagem é inválido
2012-08-18 16:55:13 BRT FATAL:  tipo de mensagem do cliente 57 é inválido

Antes disso ta tudo normal:
2012-08-18 16:48:20 BRT LOG:  sistema de banco de dados foi desligado em 
2012-08-18 16:48:17 BRT
2012-08-18 16:48:20 BRT LOG:  sistema de banco de dados está pronto para 
aceitar conexões
2012-08-18 16:48:20 BRT LOG:  inicializador do autovacuum foi iniciado

Alguém saberia me dizer o que pode estar acontecendo? Será que tem a ver com o 
multithreading? Obs.: não posso fazer várias conexões, porque preciso que tudo 
seja executado na mesma transação. Inclusive, não sei se chamadas sucessivas a 
uma mesma função escrita em PL que esteja dentro da mesma transação será 
executada em outro processador/processo do servidor.

Jean Domingues.

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


Re: [pgbr-geral] Erro fechando conexão

2012-08-18 Por tôpico Euler Taveira
On 18-08-2012 17:02, Jean Domingues wrote:
 uso o component de acesso a dados da Devart para Postgresql. Nunca tive 
 problemas, até agora. Estou executando PgSQLCommand e uma rotina multi 
 thread. O erro que estou tendo é que a conexão simplesmente fecha. No arquivo 
 de log, aparece o seguinte:
 
 2012-08-18 16:53:16 BRT LOG:  não pôde receber dados do cliente: unrecognized 
 winsock error 10061
 2012-08-18 16:53:16 BRT LOG:  EOF inesperado durante conexão do cliente

Essas dizem respeito a recusa de conexão pelo PostgreSQL? Qual versão utiliza?
Há algum firewall ativo no servidor ou entre o cliente e servidor que esteja
bloqueando a porta utilizada (por padrão 5432)?

 2012-08-18 16:55:13 BRT ERRO:  formato de mensagem é inválido
 2012-08-18 16:55:13 BRT FATAL:  tipo de mensagem do cliente 57 é inválido
 
Isso me parece alguma incompatibilidade entre o driver utilizado e a versão do
PostgreSQL. Como você não deu detalhes fica difícil dizer. Qual a consulta
gera esse erro?


-- 
   Euler Taveira de Oliveira - 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] Ordenar Datas

2012-08-18 Por tôpico Dickson S. Guedes
Em 18 de agosto de 2012 13:48, Ramiro Pamponet roli...@oi.com.br escreveu:
 Fabrizio,

 Sua solução atende 99% as minhas necessidades. Fiz umas alterações.

 select nome, aniversario from clientes
 where extract(MONTH from aniversario) = extract(MONTH from now())
 order by extract(MONTH from aniversario), extract(DAY from aniversario)

 Mas pra ficar 100% será que não teria como filtrar também pelo dia do mês,
 para que não mostre os clientes que já fizeram aniversário naquele mês?
 Mostar somente os clientes que ainda irão fazer aniversário, seja dentro do
 próprio mês ou nos meses seguintes.


Talvez date_trunc [1] e interval ajude você a encontrar um caminho
mais apropriado.


[1] 
http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC

[]s
-- 
Dickson S. Guedes
mail/xmpp: gue...@guedesoft.net - skype: guediz
http://guedesoft.net - http://www.postgresql.org.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] Ordenar Datas

2012-08-18 Por tôpico Osvaldo Kussama
Em 18 de agosto de 2012 13:48, Ramiro Pamponet roli...@oi.com.br escreveu:

 Fabrizio,

 Sua solução atende 99% as minhas necessidades. Fiz umas alterações.

 select nome, aniversario from clientes
 where extract(MONTH from aniversario) = extract(MONTH from now())
 order by extract(MONTH from aniversario), extract(DAY from aniversario)

 Mas pra ficar 100% será que não teria como filtrar também pelo dia do mês,
 para que não mostre os clientes que já fizeram aniversário naquele mês?
 Mostar somente os clientes que ainda irão fazer aniversário, seja dentro do
 próprio mês ou nos meses seguintes.

 Tentei inluir na query a opção

 select ... where ... and extract(DAYfrom aniversario) = extract(DAYfrom
 now()) order by ...

 mas dessa forma ele pula também os meses em que o dia é = que o dia atual.

 ATT

 Ramiro


 Em 18 de agosto de 2012 10:46, Fabrízio de Royes Mello 
 fabriziome...@gmail.com escreveu:


 Em 18 de agosto de 2012 10:37, Ramiro Pamponet roli...@oi.com.brescreveu:

 Olá Pessoal, sou novo por aqui e estou com uma dúvida. Possuo na minha
 tabela de clientes um campo date para guardar a data de nascimento desse
 cliente e apartir daí calcular a idade dele em minha aplicação Java. Estava
 querendo implementar um lembrete de aniversariantes (toda vez que o sistema
 fosse aberto, mostrar todos os clientes que ainda vão fazer aniversário,
 ordenados por mês, seguido pelo dia, ignorando o ano, na minha tela
 principal). Será que isso é possível utilizando  SQL (PostgreSQL) ou Java?
 Aguardo sugestões. Obrigado


 Se eu entendi bem vc quer algo tipo:

 SELECT codigo, nome, data_nascimento
   FROM tabela
 ORDER BY extract(MONTH FROM data_nascimento), extract(DAY FROM
 data_nascimento);




Como você quer desconsiderar o ano das datas, tente:

SELECT nome, aniversario FROM clientes
WHERE to_char(aniversario, 'MMDD')  to_char(CURRENT_DATE, 'MMDD')
ORDER BY to_char(aniversario, 'MMDD'), nome;

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] Erro fechando conexão

2012-08-18 Por tôpico Jean Domingues
Oi Euler,

alterei o postgresql.conf pra logar todas as instruções sql. O log ficou assim 
agora:

2012-08-18 18:07:56 BRT LOG:  executar 
PRSTMT47070893478969016/PORTAL47070893478969016: SELECT version()
2012-08-18 18:07:56 BRT LOG:  executar 
PRSTMT32037130078969016/PORTAL32037130078969016: show integer_datetimes
2012-08-18 18:07:56 BRT LOG:  executar 
PRSTMT149479683378969016/PORTAL149479683378969016: SET autocommit=true
2012-08-18 18:07:56 BRT LOG:  executar 
PRSTMT176644945978969016/PORTAL176644945978969016: SET datestyle=ISO
2012-08-18 18:07:56 BRT LOG:  executar 
PRSTMT115073424278969016/PORTAL115073424278969016: SET client_encoding='UTF8'
2012-08-18 18:07:56 BRT LOG:  executar 
PRSTMT79959489878969016/PORTAL79959489878969016: SET search_path TO public;
2012-08-18 18:07:56 BRT LOG:  executar 
PRSTMT18277082778969016/PORTAL18277082778969016: SET TRANSACTION ISOLATION 
LEVEL READ COMMITTED
2012-08-18 18:07:56 BRT LOG:  executar 
PRSTMT120818118878969016/PORTAL120818118878969016: BEGIN
2012-08-18 18:08:01 BRT LOG:  não pôde receber dados do cliente: unrecognized 
winsock error 10061
2012-08-18 18:08:01 BRT LOG:  EOF inesperado durante conexão do cliente
2012-08-18 18:08:01 BRT LOG:  não pôde receber dados do cliente: unrecognized 
winsock error 10061
2012-08-18 18:08:01 BRT LOG:  EOF inesperado durante conexão do cliente

Pra traz ta executando normalmente outras instruções. O pg está na mesma 
máquina (de desenvolvimento). Nunca tive problemas, inclusive outras rotinas, 
cadastro, etc, está funcionando normalmente. A versão 9.1.2. O que existe de 
particular nessa rotina é que ela está sendo executada de modo assincrono (até 
8 vezes), até que a thread seja liberada, e chame novamente com outros 
parametros. Isso eu fiz pra poder executá-la simultaneamente, e otimizar o uso 
de processadores do servidor. Porém isso tem que acontecer dentro de uma 
transação. Pode estar relacionado com o fato de serem varias chamadas 
simultaneas? Algo como DoS?


- Mensagem original -
 De: Euler Taveira eu...@timbira.com
 Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
 Cc: 
 Enviadas: Sábado, 18 de Agosto de 2012 17:13
 Assunto: Re: [pgbr-geral] Erro fechando conexão
 
 On 18-08-2012 17:02, Jean Domingues wrote:
  uso o component de acesso a dados da Devart para Postgresql. Nunca tive 
 problemas, até agora. Estou executando PgSQLCommand e uma rotina multi 
 thread. O 
 erro que estou tendo é que a conexão simplesmente fecha. No arquivo de log, 
 aparece o seguinte:
 
  2012-08-18 16:53:16 BRT LOG:  não pôde receber dados do cliente: 
 unrecognized winsock error 10061
  2012-08-18 16:53:16 BRT LOG:  EOF inesperado durante conexão do cliente
 
 Essas dizem respeito a recusa de conexão pelo PostgreSQL? Qual versão utiliza?
 Há algum firewall ativo no servidor ou entre o cliente e servidor que esteja
 bloqueando a porta utilizada (por padrão 5432)?
 
  2012-08-18 16:55:13 BRT ERRO:  formato de mensagem é inválido
  2012-08-18 16:55:13 BRT FATAL:  tipo de mensagem do cliente 57 é inválido
 
 Isso me parece alguma incompatibilidade entre o driver utilizado e a versão do
 PostgreSQL. Como você não deu detalhes fica difícil dizer. Qual a consulta
 gera esse erro?
 
 
 -- 
    Euler Taveira de Oliveira - 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
 
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Erro fechando conexão

2012-08-18 Por tôpico Jean Domingues
Só complementando, tem uma variação do log, que agora lista a chama da função 
pl:

2012-08-18 18:20:24 BRT LOG:  executar 
PRSTMT51654996179717353/PORTAL51654996179717353: SELECT version()
2012-08-18 18:20:24 BRT LOG:  executar 
PRSTMT30284275279717353/PORTAL30284275279717353: show integer_datetimes
2012-08-18 18:20:24 BRT LOG:  executar 
PRSTMT151131857779717353/PORTAL151131857779717353: SET autocommit=true
2012-08-18 18:20:24 BRT LOG:  executar 
PRSTMT170462156579717353/PORTAL170462156579717353: SET datestyle=ISO
2012-08-18 18:20:24 BRT LOG:  executar 
PRSTMT108890634879717353/PORTAL108890634879717353: SET client_encoding='UTF8'
2012-08-18 18:20:24 BRT LOG:  executar 
PRSTMT76880307779717353/PORTAL76880307779717353: SET search_path TO public;
2012-08-18 18:20:24 BRT LOG:  executar 
PRSTMT98458027279717368/PORTAL98458027279717368: SELECT * from 
sp_pesquisar_cliente($1, $2) AS return_value
2012-08-18 18:20:24 BRT DETALHE:  parâmetros: $1 = '22635', $2 = '978'
2012-08-18 18:20:26 BRT ERRO:  portal PORTAL99004448679717368 não existe
2012-08-18 18:20:26 BRT FATAL:  tipo de mensagem do cliente 0 é inválido



- Mensagem original -
 De: Jean Domingues ejdom...@yahoo.com.br
 Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
 Cc: 
 Enviadas: Sábado, 18 de Agosto de 2012 18:17
 Assunto: Re: [pgbr-geral] Erro fechando conexão
 
 Oi Euler,
 
 alterei o postgresql.conf pra logar todas as instruções sql. O log ficou 
 assim 
 agora:
 
 2012-08-18 18:07:56 BRT LOG:  executar 
 PRSTMT47070893478969016/PORTAL47070893478969016: SELECT version()
 2012-08-18 18:07:56 BRT LOG:  executar 
 PRSTMT32037130078969016/PORTAL32037130078969016: show integer_datetimes
 2012-08-18 18:07:56 BRT LOG:  executar 
 PRSTMT149479683378969016/PORTAL149479683378969016: SET autocommit=true
 2012-08-18 18:07:56 BRT LOG:  executar 
 PRSTMT176644945978969016/PORTAL176644945978969016: SET datestyle=ISO
 2012-08-18 18:07:56 BRT LOG:  executar 
 PRSTMT115073424278969016/PORTAL115073424278969016: SET 
 client_encoding='UTF8'
 2012-08-18 18:07:56 BRT LOG:  executar 
 PRSTMT79959489878969016/PORTAL79959489878969016: SET search_path TO public;
 2012-08-18 18:07:56 BRT LOG:  executar 
 PRSTMT18277082778969016/PORTAL18277082778969016: SET TRANSACTION ISOLATION 
 LEVEL 
 READ COMMITTED
 2012-08-18 18:07:56 BRT LOG:  executar 
 PRSTMT120818118878969016/PORTAL120818118878969016: BEGIN
 2012-08-18 18:08:01 BRT LOG:  não pôde receber dados do cliente: unrecognized 
 winsock error 10061
 2012-08-18 18:08:01 BRT LOG:  EOF inesperado durante conexão do cliente
 2012-08-18 18:08:01 BRT LOG:  não pôde receber dados do cliente: unrecognized 
 winsock error 10061
 2012-08-18 18:08:01 BRT LOG:  EOF inesperado durante conexão do cliente
 
 Pra traz ta executando normalmente outras instruções. O pg está na mesma 
 máquina 
 (de desenvolvimento). Nunca tive problemas, inclusive outras rotinas, 
 cadastro, 
 etc, está funcionando normalmente. A versão 9.1.2. O que existe de particular 
 nessa rotina é que ela está sendo executada de modo assincrono (até 8 vezes), 
 até que a thread seja liberada, e chame novamente com outros parametros. Isso 
 eu 
 fiz pra poder executá-la simultaneamente, e otimizar o uso de processadores 
 do 
 servidor. Porém isso tem que acontecer dentro de uma transação. Pode estar 
 relacionado com o fato de serem varias chamadas simultaneas? Algo como DoS?
 
 
 - Mensagem original -
  De: Euler Taveira eu...@timbira.com
  Para: Comunidade PostgreSQL Brasileira 
 pgbr-geral@listas.postgresql.org.br
  Cc: 
  Enviadas: Sábado, 18 de Agosto de 2012 17:13
  Assunto: Re: [pgbr-geral] Erro fechando conexão
 
  On 18-08-2012 17:02, Jean Domingues wrote:
   uso o component de acesso a dados da Devart para Postgresql. Nunca 
 tive 
  problemas, até agora. Estou executando PgSQLCommand e uma rotina multi 
 thread. O 
  erro que estou tendo é que a conexão simplesmente fecha. No arquivo de log, 
 
  aparece o seguinte:
 
   2012-08-18 16:53:16 BRT LOG:  não pôde receber dados do cliente: 
  unrecognized winsock error 10061
   2012-08-18 16:53:16 BRT LOG:  EOF inesperado durante conexão do 
 cliente
 
  Essas dizem respeito a recusa de conexão pelo PostgreSQL? Qual versão 
 utiliza?
  Há algum firewall ativo no servidor ou entre o cliente e servidor que 
 esteja
  bloqueando a porta utilizada (por padrão 5432)?
 
   2012-08-18 16:55:13 BRT ERRO:  formato de mensagem é inválido
   2012-08-18 16:55:13 BRT FATAL:  tipo de mensagem do cliente 57 é 
 inválido
 
  Isso me parece alguma incompatibilidade entre o driver utilizado e a versão 
 do
  PostgreSQL. Como você não deu detalhes fica difícil dizer. Qual a consulta
  gera esse erro?
 
 
  -- 
     Euler Taveira de Oliveira - Timbira      http://www.timbira.com.br/
     PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
  ___
  pgbr-geral mailing list
  pgbr-geral@listas.postgresql.org.br
  

Re: [pgbr-geral] Erro fechando conexão

2012-08-18 Por tôpico Euler Taveira
On 18-08-2012 18:22, Jean Domingues wrote:
 Só complementando, tem uma variação do log, que agora lista a chama da função 
 pl:
 
 2012-08-18 18:20:24 BRT LOG:  executar 
 PRSTMT51654996179717353/PORTAL51654996179717353: SELECT version()
 2012-08-18 18:20:24 BRT LOG:  executar 
 PRSTMT30284275279717353/PORTAL30284275279717353: show integer_datetimes
 2012-08-18 18:20:24 BRT LOG:  executar 
 PRSTMT151131857779717353/PORTAL151131857779717353: SET autocommit=true
 2012-08-18 18:20:24 BRT LOG:  executar 
 PRSTMT170462156579717353/PORTAL170462156579717353: SET datestyle=ISO
 2012-08-18 18:20:24 BRT LOG:  executar 
 PRSTMT108890634879717353/PORTAL108890634879717353: SET client_encoding='UTF8'
 2012-08-18 18:20:24 BRT LOG:  executar 
 PRSTMT76880307779717353/PORTAL76880307779717353: SET search_path TO public;
 2012-08-18 18:20:24 BRT LOG:  executar 
 PRSTMT98458027279717368/PORTAL98458027279717368: SELECT * from 
 sp_pesquisar_cliente($1, $2) AS return_value
 2012-08-18 18:20:24 BRT DETALHE:  parâmetros: $1 = '22635', $2 = '978'
 2012-08-18 18:20:26 BRT ERRO:  portal PORTAL99004448679717368 não existe
 2012-08-18 18:20:26 BRT FATAL:  tipo de mensagem do cliente 0 é inválido
 
Você utiliza alguma solução de pool? Esse log_line_prefix está
incompreensível (coloque espaços e diga qual o valor utilizado). Você ainda
não informou o que lhe pedi no último email...


-- 
   Euler Taveira de Oliveira - 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] Postgresql distribuído

2012-08-18 Por tôpico Flavio Henrique Araque Gurgel
On 18-08-2012 15:22, Eduardo Alexandre wrote:
 Boa tarde,

 Estou elaborando um projeto no qual há a necessidade de que uma base de
 dados seja acessível em vários pontos, mesmo se houver alguma queda de
 comunicação.

 Estou cogitando a respeito de replicação master-slave ou master slaves e
 slave-slave. Considerei também a possibilidade de bancos de dados
 distribuídos.

Master/Slave ou múltiplos slaves não são solução se você precisa de 
base acessível em diversos pontos como afirmou.

Slaves só são acessíveis para leitura.

Você precisa banco distribuído ou replicação multi-master.


 O fato é que, caso a comunicação entre os pontos se interrompa, deve
 existir uma base em cada ponto e, ao voltar a comunicação, os dados
 devem ser sincromizados.

 Alguém já teve necessidade semelhante e pode dividir a experiência ou
 sugere referência de material de estudo?

Distribuir o banco você terá de fazer com um planejamento bem bolado, 
aplicação ciente da distribuição e você precisará tratar uma estratégia 
para replicar o que você precisa.

Para evitar isso, uma boa solução multi-master tolerante a queda de 
comunicação é o Bucardo. Uso em vários ambientes com sucesso.

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


Re: [pgbr-geral] Erro fechando conexão

2012-08-18 Por tôpico Jean Domingues
Oi Euler, acabei resolvendo da seguinte forma:

abri mão da transação única. E usei uma conexões para cada SqlCommand. Só 
haverao 8 por, em forma de pilha. Sinceramente não sei explicar o que houve. 
Quando eu depurava a aplicação, executando passo a passo, não dava erro. O pool 
que utilize é na aplicação (do próprio componente). Eu te respondi em outro 
post. O pg é 9.1. Está na própria maquina de desenvolvimento. Só tive problema 
nessa rotina mesmo, por ser algo mais complexo, envolvendo multithreading, eu 
imagino.

Valeu pela atenção.

Jean Domingues.


- Mensagem original -
 De: Euler Taveira eu...@timbira.com
 Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
 Cc: 
 Enviadas: Sábado, 18 de Agosto de 2012 21:23
 Assunto: Re: [pgbr-geral] Erro fechando conexão
 
 On 18-08-2012 18:22, Jean Domingues wrote:
  Só complementando, tem uma variação do log, que agora lista a chama da 
 função pl:
 
  2012-08-18 18:20:24 BRT LOG:  executar 
 PRSTMT51654996179717353/PORTAL51654996179717353: SELECT version()
  2012-08-18 18:20:24 BRT LOG:  executar 
 PRSTMT30284275279717353/PORTAL30284275279717353: show integer_datetimes
  2012-08-18 18:20:24 BRT LOG:  executar 
 PRSTMT151131857779717353/PORTAL151131857779717353: SET autocommit=true
  2012-08-18 18:20:24 BRT LOG:  executar 
 PRSTMT170462156579717353/PORTAL170462156579717353: SET datestyle=ISO
  2012-08-18 18:20:24 BRT LOG:  executar 
 PRSTMT108890634879717353/PORTAL108890634879717353: SET 
 client_encoding='UTF8'
  2012-08-18 18:20:24 BRT LOG:  executar 
 PRSTMT76880307779717353/PORTAL76880307779717353: SET search_path TO public;
  2012-08-18 18:20:24 BRT LOG:  executar 
 PRSTMT98458027279717368/PORTAL98458027279717368: SELECT * from 
 sp_pesquisar_cliente($1, $2) AS return_value
  2012-08-18 18:20:24 BRT DETALHE:  parâmetros: $1 = '22635', $2 = 
 '978'
  2012-08-18 18:20:26 BRT ERRO:  portal PORTAL99004448679717368 
 não existe
  2012-08-18 18:20:26 BRT FATAL:  tipo de mensagem do cliente 0 é inválido
 
 Você utiliza alguma solução de pool? Esse log_line_prefix está
 incompreensível (coloque espaços e diga qual o valor utilizado). Você ainda
 não informou o que lhe pedi no último email...
 
 
 -- 
    Euler Taveira de Oliveira - 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
 
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Erro fechando conexão

2012-08-18 Por tôpico Matheus de Oliveira
Em 18/08/2012 22:53, Jean Domingues ejdom...@yahoo.com.br escreveu:

 Oi Euler, acabei resolvendo da seguinte forma:

 abri mão da transação única. E usei uma conexões para cada SqlCommand. Só
haverao 8 por, em forma de pilha. Sinceramente não sei explicar o que
houve. Quando eu depurava a aplicação, executando passo a passo, não dava
erro. O pool que utilize é na aplicação (do próprio componente). Eu te
respondi em outro post. O pg é 9.1. Está na própria maquina de
desenvolvimento. Só tive problema nessa rotina mesmo, por ser algo mais
complexo, envolvendo multithreading, eu imagino.

Cara, pra mim parece que você não está sincronizando direito suas threads
(com mutex, por exemplo). Se duas enviarem comandos intercalados pode
acontecer coisas desse tipo (a mensagem fica corrompida).

Mas veja que no servidor, se for a mesma conexão, será um processo só,
então seu paralelismo não faz muito sentido.

Caso queria agilizar e ainda manter transacional, você pode usar PREPARED
TRANSACTIONS (estude bem antes de usar, não e tão simples).

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