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

Responder a