On Tue, 2004-06-15 at 03:05, Andrei Bintintan wrote: > "Is it safe to use "select max(table1_id) from table1" after the insert?" > > Yes it is safe, but ONLY if you use it inside a transaction.(BEGIN/COMMIT).
No, this is not safe outside of the serializable isolation. rbt=# begin; BEGIN rbt=# select max(id) from l; max ----- 1 (1 row) rbt=# insert into l values (2); INSERT 62597 1 rbt=# select max(id) from l; max ----- 3 (1 row) rbt=# commit; COMMIT I inserted 3 from another connection after 2 was inserted. ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html