Your advice sound reasonable.

That means I have check the transaction **before** the hanged commit,
maybe I forgot to commit or close a session at that time.

On Jan 31, 7:55 am, Gunnlaugur Briem <gunnlau...@gmail.com> wrote:
> You probably don't have to add locks in your code. The database system
> takes locks on behalf of your code (in operations initiated by your
> code) as necessary to ensure transactional consistency. That's one of
> the benefits of an RDBMS.
>
> What you do have to do is to make sure that those database locks don't
> stay around forever (blocking other transactions). That happens when
> you forget to complete (commit or rollback/close) the transaction that
> creates them. If it eventually completes (either way), then things
> will work fine for the most part --- and at least not hang.
>
> (There is a lot more to this; you should read up on transactions and
> locks, it's fascinating stuff. But your immediate problem is very
> likely just a session/connection that you forget to close.)
>
> Regards,
>
>     - Gulli
>
> On Jan 30, 4:53 am, 一首诗 <newpt...@gmail.com> wrote:
>
> > Yeah, there might be another transaction modifying the same data
> > (actually the same line of data in database).
>
> > But I didn't expect that might cause problem before!
>
> > Oh, if that's true, then I have to add some lock in my code to avoid
> > that.  That's a big problem.
>
> > On Jan 29, 10:13 pm, Alex Brasetvik <a...@brasetvik.com> wrote:
>
> > > On Jan 29, 2010, at 15:01 , 一首诗 wrote:
>
> > > > What might cause this kind of problem?
>
> > > Possibly waiting on locks. Do you have any concurrent transactions 
> > > modifying the same data?
>
> > > When the problem appears, run `select * from pg_stat_activity` to see 
> > > whether there are locking issues.
>
> > > To see the locks involved, run `select * from pg_locks`.
>
> > > --
> > > Alex Brasetvik

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to