On 21 August 2014 14:45, Fabrízio de Royes Mello <fabriziome...@gmail.com>
wrote:

>
> On Thu, Aug 21, 2014 at 5:23 AM, Christoph Berg <c...@df7cb.de> wrote:
> >
> > Re: Thom Brown 2014-08-20 <CAA-aLv7TeF8iM=
> 7u7tsgl4s5jh1a+shq_ny7gorzc_g_yj7...@mail.gmail.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
> > --
> > c...@df7cb.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

Reply via email to