Thread: Turn autocommit off ?

Turn autocommit off ?

From
Andreas Joppich
Date:
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

Re: [SQL] Turn autocommit off ?

From
Federico Passaro
Date:
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



Re: [SQL] Turn autocommit off ?

From
Bruce Momjian
Date:
> 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.        |

Re: [SQL] Turn autocommit off ?

From
Bruce Momjian
Date:
> 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.        |

Re: [SQL] Turn autocommit off ?

From
Peter T Mount
Date:
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