Thread: Turn autocommit off ?
Hi there ! It has now happened several times that I wanted to rollback some changes (like update, delete,...) I made to some tables. And since I always forget to start a transaction, a simple ROLLBACK doesn't work because of that quiet annoying autocommit in psql. I'd like to have automatically started a transaction which explicitly must be termintated with commit or rollback. Is there a way to turn autocommit off ? If not, perhaps it could be a feature for the todo list ? I'm currently using the cvs from last sunday on linux 2.1.119. Thanks for any hints. Andreas
Andreas Joppich wrote: > Hi there ! > > It has now happened several times that I wanted to rollback some > changes (like update, delete,...) I made to some tables. And since I > always forget to start a transaction, a simple ROLLBACK doesn't work > because of that quiet annoying autocommit in psql. > > I'd like to have automatically started a transaction which explicitly > must be termintated with commit or rollback. > > Is there a way to turn autocommit off ? If not, perhaps it could > be a feature for the todo list ? > > I'm currently using the cvs from last sunday on linux 2.1.119. > > Thanks for any hints. > > Andreas You can edit your ~/.psqlrc (or /etc/psqlrc) an put a begin; line into it. The drawback is that if you do not issue a "commit" command you loose all your changes. Cheers federico
> Hi there ! > > It has now happened several times that I wanted to rollback some > changes (like update, delete,...) I made to some tables. And since I > always forget to start a transaction, a simple ROLLBACK doesn't work > because of that quiet annoying autocommit in psql. > > I'd like to have automatically started a transaction which explicitly > must be termintated with commit or rollback. > > Is there a way to turn autocommit off ? If not, perhaps it could > be a feature for the todo list ? > > I'm currently using the cvs from last sunday on linux 2.1.119. Ingres does this. I will add it to the TODO list. -- Bruce Momjian | 830 Blythe Avenue maillist@candle.pha.pa.us | Drexel Hill, Pennsylvania 19026 http://www.op.net/~candle | (610) 353-9879(w) + If your life is a hard drive, | (610) 853-3000(h) + Christ can be your backup. |
> Andreas Joppich wrote: > > > Hi there ! > > > > It has now happened several times that I wanted to rollback some > > changes (like update, delete,...) I made to some tables. And since I > > always forget to start a transaction, a simple ROLLBACK doesn't work > > because of that quiet annoying autocommit in psql. > > > > I'd like to have automatically started a transaction which explicitly > > must be termintated with commit or rollback. > > > > Is there a way to turn autocommit off ? If not, perhaps it could > > be a feature for the todo list ? > > > > I'm currently using the cvs from last sunday on linux 2.1.119. > > > > Thanks for any hints. > > > > Andreas > > You can edit your ~/.psqlrc (or /etc/psqlrc) an put a > > begin; > > line into it. The drawback is that if you do not issue a "commit" > command you loose all your changes. The problem with this is that is that when he does his first COMMIT, he is not started in a new transaction block. -- Bruce Momjian | 830 Blythe Avenue maillist@candle.pha.pa.us | Drexel Hill, Pennsylvania 19026 http://www.op.net/~candle | (610) 353-9879(w) + If your life is a hard drive, | (610) 853-3000(h) + Christ can be your backup. |
On Thu, 17 Sep 1998, Andreas Joppich wrote: > Hi there ! > > It has now happened several times that I wanted to rollback some > changes (like update, delete,...) I made to some tables. And since I > always forget to start a transaction, a simple ROLLBACK doesn't work > because of that quiet annoying autocommit in psql. > > I'd like to have automatically started a transaction which explicitly > must be termintated with commit or rollback. > > Is there a way to turn autocommit off ? If not, perhaps it could > be a feature for the todo list ? You didn't say if it was from psql or one of the other interfaces. With JDBC, you turn autocommit off with the setAutoCommit() method in Connection: To turn off: Connection con = DriverManager.getConnection(url,user,password); con.setAutoCommit(false); > > I'm currently using the cvs from last sunday on linux 2.1.119. > > Thanks for any hints. > > Andreas > -- Peter T Mount peter@retep.org.uk Main Homepage: http://www.retep.org.uk PostgreSQL JDBC Faq: http://www.retep.org.uk/postgres Java PDF Generator: http://www.retep.org.uk/pdf