Re: [GSoC2014] Patch ALTER TABLE ... SET LOGGED

From: Thom Brown <thom(at)linux(dot)com>
To: Fabrízio Mello <fabriziomello(at)gmail(dot)com>
Cc: Christoph Berg <cb(at)df7cb(dot)de>, Andres Freund <andres(at)2ndquadrant(dot)com>, Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org>, Stephen Frost <sfrost(at)snowman(dot)net>
Subject: Re: [GSoC2014] Patch ALTER TABLE ... SET LOGGED
Date: 2014-08-21 14:04:56
Message-ID: CAA-aLv5Q-W-iSpNn-SUUTkzzoPs=r1F34c-DVeOqznCKKnuOPg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 21 August 2014 14:45, Fabrízio de Royes Mello <fabriziomello(at)gmail(dot)com>
wrote:

>
> On Thu, Aug 21, 2014 at 5:23 AM, Christoph Berg <cb(at)df7cb(dot)de> wrote:
> >
> > Re: Thom Brown 2014-08-20 <CAA-aLv7TeF8iM=
> 7U7TsgL4S5Jh1a+shQ_Ny7gOrZc_g_YJ7uKA(at)mail(dot)gmail(dot)com>
> > > "ERROR: table test is not permanent"
> > >
> > > Perhaps this would be better as "table test is unlogged" as "permanent"
> > > doesn't match the term used in the DDL syntax.
> >
> > I was also wondering that, but then figured that when ALTER TABLE SET
> > UNLOGGED is invoked on temp tables, the error message "is not
> > permanent" was correct while the apparent opposite "is unlogged" is
> > wrong.
> >
> > Christoph
> > --
> > cb(at)df7cb(dot)de | http://www.df7cb.de/
>
> Thom,
>
> Christoph is right... make no sense the message... see the example:
>
> fabrizio=# create temp table foo();
> CREATE TABLE
> fabrizio=# alter table foo set unlogged;
> ERROR: table foo is unlogged
>
> The previous message is better:
>
> fabrizio=# create temp table foo();
> CREATE TABLE
> fabrizio=# alter table foo set unlogged;
> ERROR: table foo is not permanent
> fabrizio=#
> fabrizio=# create unlogged table foo2();
> CREATE TABLE
> fabrizio=# alter table foo2 set unlogged;
> ERROR: table foo2 is not permanent
>

To me, that's even more confusing:

CREATE TEMP TABLE test();
CREATE UNLOGGED TABLE test2();

# ALTER TABLE test SET LOGGED;
ERROR: table test is not unlogged

# ALTER TABLE test SET UNLOGGED;
ERROR: table test is not permanent

# ALTER TABLE test2 SET UNLOGGED;
ERROR: table test2 is not permanent

They're being rejected for different reasons but the error message is
identical. Permanent suggests the opposite of temporary, and unlogged
tables aren't temporary.

--
Thom

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2014-08-21 14:14:51 Re: add line number as prompt option to psql
Previous Message Fabrízio de Royes Mello 2014-08-21 13:45:16 Re: [GSoC2014] Patch ALTER TABLE ... SET LOGGED