Skip site navigation (1) Skip section navigation (2)

Re: create tablespace fails silently, or succeeds improperly

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Dave Cramer <pg(at)fastcrypt(dot)com>
Cc: Alvaro Herrera <alvherre(at)commandprompt(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: create tablespace fails silently, or succeeds improperly
Date: 2010-10-18 18:39:47
Message-ID: 201010181839.o9IIdlM20709@momjian.us (view raw or flat)
Thread:
Lists: pgsql-hackers
Dave Cramer wrote:
> On Mon, Oct 18, 2010 at 2:20 PM, Bruce Momjian <bruce(at)momjian(dot)us> wrote:
> > Alvaro Herrera wrote:
> >> Hi Dave,
> >>
> >> Excerpts from Dave Cramer's message of lun oct 18 12:23:40 -0300 2010:
> >> > as seen below create tablespace does not throw an error or appear to
> >> > do anything other than register the tablespace.
> >> >
> >> > postgres(at)db01:~> less /opt/pg/data/jnj_indexes/PG_VERSION
> >> > 8.4
> >> > postgres(at)db01:~> /opt/pg91/bin/psql -p 5433
> >> > psql (9.0.1)
> >> > Type "help" for help.
> >> >
> >> > postgres=# select version();
> >> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? version
> >> > -------------------------------------------------------------------------------------------------------------------
> >> > ?PostgreSQL 9.0.1 on x86_64-unknown-linux-gnu, compiled by GCC gcc
> >> > (GCC) 3.4.6 20060404 (Red Hat 3.4.6-11), 64-bit
> >> > (1 row)
> >> >
> >> > postgres=# create TABLESPACE jnj_indexes location '/opt/pg/data/jnj_indexes';
> >> > CREATE TABLESPACE
> >>
> >> IIRC the reason this works is that the tablespace code now creates a
> >> version-specific subdirectory inside the specified directory. ?This was
> >> done to help binary upgrades.
> >
> > Right, the directory is catalog-version named, which was done to allow
> > for pg_upgrade to work for alpha/beta upgrades (pretty cool). ?The case
> > above happened because 8.4 still has data in that tablespace.
> > pg_upgrade does supply a script to delete old data files, but it was not
> > used in the case above.
> >
> 
> right that's because I did not use pg_upgrade. I was manually running
> create tablespace.

OK, so you were sharing the tablespace with old and new clusters.  You
are right that in the past that would not have been possible because
PG_VERSION would have conflicted, but it is now possible with all new
releases because of the catalog-version-named subdirectory.  That seems
like I a feature, I guess.

-- 
  Bruce Momjian  <bruce(at)momjian(dot)us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

In response to

Responses

pgsql-hackers by date

Next:From: Dave CramerDate: 2010-10-18 18:44:09
Subject: Re: create tablespace fails silently, or succeeds improperly
Previous:From: Dave CramerDate: 2010-10-18 18:35:21
Subject: Re: create tablespace fails silently, or succeeds improperly

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group