opa, essa foi boa pq eu conhecia ese metoo aih do objeto conection
aprendi mais essa 

;)



On Thu, 29 Jan 2009 17:59:43 -0200, Antonio Prado <[email protected]> 
wrote:
> Em Qui, 2009-01-29 às 12:44 -0700, [email protected]
> escreveu:
>> é bom vc ver sobre o nivel de isolamento mesmo. mas o commit é por
> conexao mesmo e nao por instrução. é possível vc ver isso em várias
> outras linguagens porque é como isso funciona realmente no potgresql, por
> isso não tem como vc comitar o que esse cursor fez, mas sim tudo que essa
> conexao fez, uma vez que vc nao consegue abrir mais de uma transacao por
> conexao. quando vc conecta, você abre uma transacao, quando vc dá commit
> ele efetiva tudo daquela tranasacao e abre outra em seguida.
> 
> Resolvido com a definição de set_isolation_level(1) como abaixo:
> 
> conexao = psycopg.connect("host=host dbname=db user=usuario")
> conexao.set_isolation_level(1)
> 
> 
> Obrigado a todos pela atenção e apoio.
> 
> 
> Antonio.
> 
> 
> 
>> 
>> 
>> On Thu, 29 Jan 2009 17:39:52 -0200, Antonio Prado
> <[email protected]> wrote:
>> > Em Qui, 2009-01-29 às 12:31 -0700, [email protected]
>> > escreveu:
>> >> 
>> >> 
>> >> On Thu, 29 Jan 2009 17:23:31 -0200, Jota <[email protected]> wrote:
>> >> > Olá,
>> >> > 
>> >> > Conforme o Coutinho disse, o psycopg trabalha com o modo auto
> commit
>> >> > false, isso significa que você tem que forcar um commit após cada
>> >> > instrução de modificação (insert/update/delete).
>> >> > 
>> >> > Desconheco o Python, mas acredito que exista algum arquivo de
>> >> > configuração para modificar este parâmetro.
>> >> 
>> >> se nao me engano:
>> >> connection.auto_commirt = true
>> > 
>> > 
>> > Creio não ser necessário, pois realizo o commit a cada inserção ou
>> > alteração, a não ser que exista alguma diferença no comportamento.
>> > 
>> > O detalhe que observei é que o commit e realizado na conexão e no
>> > cursor:
>> > 
>> > conexao.cursor.execute(sql)
>> > conexao.commit()
>> > 
>> > 
>> > Talvez eu tenha que realizar no cursor, mas para isto creio que tem a
>> > haver com o serialize, que não consigo passar como parâmetro ao
> realizar
>> > a conexão.
>> > 
>> > Antonio.
>> > 
>> > 
>> > 
>> >> 
>> >> :)
>> >> 
>> >> > 
>> >> > Outra coisa que você poderia verificar é o nível de isolamento
> de
>> >> > transação que você está utilizando. Os níveis são read
> committed
>> > e
>> >> > serializable. Você tem como verificar isso?
>> >> > 
>> >> > []s
>> >> > 
>> >> > 
>> >> > 
>> >> > 2009/1/29 Antonio Prado <[email protected]>:
>> >> >> Em Qui, 2009-01-29 às 17:07 -0200, Jota escreveu:
>> >> >>> Olá,
>> >> >>>
>> >> >>> Qual nível de transação você está utilizando? Serializable?
>> >> >>
>> >> >> Estou estabelecendo a conexão da seguinte forma:
>> >> >> conexao = psycopg.connect("host=host dbname=db user=usuario")
>> >> >>
>> >> >> Devo acrescentar algum parâmetro?
>> >> >>
>> >> >>
>> >> >> Antonio
>> >> >>
>> >> >>
>> >> >>
>> >> >>>
>> >> >>> []s
>> >> >>>
>> >> >>> 2009/1/29 Antonio Prado <[email protected]>:
>> >> >>> > O problema:
>> >> >>> >
>> >> >>> > O sistema está aberto em duas seções distintas.
>> >> >>> > Um usuário realiza uma alteração em um determinado cadastro.
>> >> >>> > Esta alteração não se torna visível na outra seção,
>> >> >>> > fazendo-se necessário fechar a aplicação e abrir novamente.
>> >> >>> >
>> >> >>> >
>> >> >>> > A aplicação (Python):
>> >> >>> >
>> >> >>> > A conexão com o banco de dados PostgreSQL é realizada
> utilizando
>> > o
>> >> >>> > psycopg, na abertura do aplicativo:
>> >> >>> >
>> >> >>> > import psycopg
>> >> >>> > conexao = psycopg.connect("host=%s dbname=%s user=%s" %(host,
>> > dbname,
>> >> >>> > user))
>> >> >>> >
>> >> >>> >
>> >> >>> > Quando uma rotina realiza um alteração na base de dados:
>> >> >>> >
>> >> >>> > conexao.cursor.execute(sql)
>> >> >>> > conexao.commit()
>> >> >>> >
>> >> >>> >
>> >> >>> >
>> >> >>> > O que é necessário ser alterado no processo de conexão e
>> >> > gravação para
>> >> >>> > que as alterações sejam visualizadas pelas outras conexões?
>> >> >>> >
>> >> >>> >
>> >> >>> > Se alguém pude ajudar, desde já, muito obrigado.
>> >> >>> >
>> >> >>> >
>> >> >>> >
>> >> >>> > Antonio.
>> >> >>> > --
>> >> >>> > Antonio Prado
>> >> >>> > (62) 8174 4383
>> >> >>> > (62) 3278 0111
>> >> >>> > www.antonioprado.eti.br
>> >> >>> > [email protected]
>> >> >>> >
>> >> >>> >
>> >> >>> > _______________________________________________
>> >> >>> > pgbr-geral mailing list
>> >> >>> > [email protected]
>> >> >>> >
>> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>> >> >>> >
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >> --
>> >> >> Antonio Prado
>> >> >> (62) 8174 4383
>> >> >> (62) 3278 0111
>> >> >> www.antonioprado.eti.br
>> >> >> [email protected]
>> >> >>
>> >> >>
>> >> >> _______________________________________________
>> >> >> pgbr-geral mailing list
>> >> >> [email protected]
>> >> >>
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>> >> >>
>> >> > 
>> >> > 
>> >> > 
>> >> >
>> >> 
>> >> _______________________________________________
>> >> pgbr-geral mailing list
>> >> [email protected]
>> >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>> >
>> 
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a