Re: [HACKERS] weird state after aborted transaction in pgsql 6.4

From: jwieck(at)debis(dot)com (Jan Wieck)
To: davids(at)iol(dot)cz (David Sauer)
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] weird state after aborted transaction in pgsql 6.4
Date: 1998-12-02 12:56:54
Message-ID: m0zlBpv-000EBPC@orion.SAPserv.Hamburg.dsh.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

>
> My database is in weird state after some operation. Here is an example:
>
> [david(at)kerberos david]$ psql
> .....
> david=> begin;
> BEGIN
> david=> create table tbl ( i int );
> CREATE
> david=> insert into tbl values(1);
> INSERT 104137 1
> EOFid=> [<ctrl-d> here]
> [david(at)kerberos david]$ psql
> ....
> david=> create table tbl ( a text );
> ERROR: cannot create tbl
> david=> \d
> Couldn't find any tables, sequences or indices!
> ====================== cut here ======================
> Simple question: why 'ERROR: cannot create tbl' ?
> Platform: linux i586, glibc, regression tests seems ok (except minor
> problem with floating point. The some problem have my colleague.

The problem is, that the CREATE TABLE is inside the
transaction. So the catalog updates for the new table get
rolled back, but the file is still there. On the next CREATE
TABLE the file creation (made with O_EXCL) fails.

You can safely remove the file .../data/base/david/tbl and
you should execute CREATE/DROP statements outside of
transactions.

Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#======================================== jwieck(at)debis(dot)com (Jan Wieck) #

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Hannu Krosing 1998-12-02 15:00:53 Re: [HACKERS] weird state after aborted transaction in pgsql 6.4
Previous Message David Sauer 1998-12-02 11:17:26 weird state after aborted transaction in pgsql 6.4