John R Pierce wrote: > we have an app thats doing massive amounts of inserts, batched in > transactions, multiple concurrent connections (tuned for optimal > throughput, usually around 1 thread per cpu core plus a couple more). > occasionally a transaction gets duplicated, and that causes a constraint > violation which causes the whole transaction to abort unless we wrap > each insert in a savepoint. > > my developers are asking me if there are limits as to how many > savepoints can be active, etc. they have run into various such limits > in oracle. There's a hard limit of 2^32 savepoints in a transaction, but you'll probably run into limits before that due to memory constraints (I think each savepoint will use at least 8kB). Anyway I suggest you do RELEASE SAVEPOINT after each insert to ensure resources are released as best as possible. -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general