Hello it is useless in PostgreSQL - it isn't important if you commit one or billion updated rows. PostgreSQL has different implementation of transactions, so some Oracle's issues are not here. Regards Pavel Stehule 2010/5/26 Len Walter <len.walter@xxxxxxxxx>: > Hi, > I need to populate a new column in a Postgres 8.3 table. The SQL would be > something like "update t set col_c = col_a + col_b". Unfortunately, this > table has 110 million rows, so running that query runs out of memory. > In Oracle, I'd turn auto-commit off and write a pl/sql procedure that keeps > a counter and commits every 10000 rows (pseudocode): > define cursor curs as select col_a from t > while fetch_from_cursor(curs) into a > update t set col_c = col_a + col_b where col_a = a > i++ > if i > 10000 > commit; i=0; > end if; > commit; > PL/pgsql doesn't allow that because it doesn't support nested transactions. > Is there an equivalent Postgres way of doing this? > cheers, > Len > -- > len.walter@xxxxxxxxx skype:lenwalter msn:len.walter@xxxxxxxxx > -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general