Re: [pgbr-geral] Limite de procedimentos dentro de uma transação

2015-05-08 Por tôpico Ronei Heck
Pessoal,

Dentro de um processo de atualização da aplicação, considerando o seguinte 
cenário:
BEGIN;
INSERT
UPDATE...
CREATE...
INSERT...
COMMIT ou ROLLBACK;

Existe algum limite de procedimentos dentro de uma transação?

Considerando que ninguém estará acessando o banco, posso ter algum problema em 
relação ao tempo que a transação ficará aberta?

[]s
Danilo
Não sei se te ajuda, mas quando faço uma conversão de uma tabela com, digamos, 
500 mil registros, para o banco de dados, eu crio um contador e a cada mil 
registros dou um COMMIT e abro novamente com BEGIN. Se eu não fizer assim, 
depois de uma certa quantidade de registros, a gravação começa a ficar lenta, e 
cada vez mais lenta.

[]s

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


[pgbr-geral] Limite de procedimentos dentro de uma transação

2015-05-07 Por tôpico Danilo Silva
Pessoal,

Dentro de um processo de atualização da aplicação, considerando o seguinte
cenário:
BEGIN;
INSERT
UPDATE...
CREATE...
INSERT...
COMMIT ou ROLLBACK;

Existe algum limite de procedimentos dentro de uma transação?

Considerando que ninguém estará acessando o banco, posso ter algum problema
em relação ao tempo que a transação ficará aberta?

[]s
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] Limite de procedimentos dentro de uma transação

2015-05-07 Por tôpico Euler Taveira
On 07-05-2015 20:29, Danilo Silva wrote:
 Existe algum limite de procedimentos dentro de uma transação?
 
2^32-2 comandos que escrevem (como por exemplo, INSERT, UPDATE e
DELETE). Comandos SELECT não entram nesta contagem.

 Considerando que ninguém estará acessando o banco, posso ter algum problema
 em relação ao tempo que a transação ficará aberta?
 
Transações longas não são recomendadas principalmente se o seu
agrupamento de bancos de dados consumir muitos (bilhões) id de transação
durante o tempo que a transação permanecer aberta. Normalmente isso pode
levar meses ou anos.

Para se ter uma ideia, um sistema com 1000 transações/s, 100
transações/s e 10 transações/s levariam, respectivamente, 46 dias, 1 ano
3 meses e 12 anos 8 meses para parar o postgres por falta de id de
transação.


-- 
   Euler Taveira   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] Limite de procedimentos dentro de uma transação

2015-05-07 Por tôpico Fábio Naspolini
Já passei por problemas de executar muitos comandos dentro de uma mesma
transação, mas era em situações de atualização automatizada de clientes a 1
~ 2 anos sem receber atualização de sistema. Devido a grande quantidade de
registros que existiam na base de dados era impossível realizar uma
atualização completa apenas com uma transação, visto que era modificado
estrutura de dados, executado vários updates, inserts, creates, alters,
copiados registros de uma estrutura de dados pra uma nova, chegava num
certo momento que ficava tudo muito lento, a memória do servidor fica
socada e travava tudo... enfim, nessa situação mesmo sem ninguém mais
utilizando a base de dados, era impossível executar apenas numa transação,
tinha que ir executando em partes.
Como já havia previsto isso, projetei o atualizador para que pudesse
executar os script's de atualização em transações menores quando ocorresse
uma situação dessas. Mas era necessário muitas e muitas operações para
chegar a este ponto.

Em 7 de maio de 2015 20:29, Danilo Silva danilo.dsg.go...@gmail.com
escreveu:

 Pessoal,

 Dentro de um processo de atualização da aplicação, considerando o seguinte
 cenário:
 BEGIN;
 INSERT
 UPDATE...
 CREATE...
 INSERT...
 COMMIT ou ROLLBACK;

 Existe algum limite de procedimentos dentro de uma transação?

 Considerando que ninguém estará acessando o banco, posso ter algum
 problema em relação ao tempo que a transação ficará aberta?

 []s
 Danilo

 ___
 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] Limite de procedimentos dentro de uma transação

2015-05-07 Por tôpico Danilo Silva
2015-05-08 0:06 GMT-03:00 Euler Taveira eu...@timbira.com.br:

 On 07-05-2015 23:36, Danilo Silva wrote:
  ​Certo, se eu entendi, neste caso um insert gera um id, um update, outro
  id, um novo insert, outro id, e assim por diante?​
 
 É o que eu tentei^H^H^H^H^H^H escrevi, não?


​Euler, eu não entendi a sua resposta de agora, você refere-se a sua
resposta anterior, onde fala sobre os 2^32-2 ?​
​

​[]s
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] Limite de procedimentos dentro de uma transação

2015-05-07 Por tôpico Danilo Silva
Em 7 de maio de 2015 22:35, Euler Taveira eu...@timbira.com.br escreveu:

 On 07-05-2015 20:29, Danilo Silva wrote:
  Existe algum limite de procedimentos dentro de uma transação?
 
 2^32-2 comandos que escrevem (como por exemplo, INSERT, UPDATE e
 DELETE). Comandos SELECT não entram nesta contagem.

  Considerando que ninguém estará acessando o banco, posso ter algum
 problema
  em relação ao tempo que a transação ficará aberta?
 
 Transações longas não são recomendadas principalmente se o seu
 agrupamento de bancos de dados consumir muitos (bilhões) id de transação
 durante o tempo que a transação permanecer aberta. Normalmente isso pode
 levar meses ou anos.


​Certo, se eu entendi, neste caso um insert gera um id, um update, outro
id, um novo insert, outro id, e assim por diante?​


​[]s
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] Limite de procedimentos dentro de uma transação

2015-05-07 Por tôpico Euler Taveira
On 07-05-2015 23:36, Danilo Silva wrote:
 ​Certo, se eu entendi, neste caso um insert gera um id, um update, outro
 id, um novo insert, outro id, e assim por diante?​
 
É o que eu tentei^H^H^H^H^H^H escrevi, não?


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