Re: pg_upgrade & tablespaces

From: Sergey Konoplev <gray(dot)ru(at)gmail(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Joseph Kregloh <jkregloh(at)sproutloud(dot)com>, Ziggy Skalski <zskalski(at)afilias(dot)info>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: pg_upgrade & tablespaces
Date: 2013-12-19 21:39:02
Message-ID: CAL_0b1tdwjTV00SHcRhBMZqGTBaqAwdR4B7dDT9oD6bLyBQTFA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

On Thu, Dec 19, 2013 at 1:18 PM, Bruce Momjian <bruce(at)momjian(dot)us> wrote:
> On Thu, Dec 19, 2013 at 01:08:18PM -0800, Sergey Konoplev wrote:
>> On Thu, Dec 19, 2013 at 12:49 PM, Joseph Kregloh
>> <jkregloh(at)sproutloud(dot)com> wrote:
>> > On Thu, Dec 19, 2013 at 3:46 PM, Sergey Konoplev <gray(dot)ru(at)gmail(dot)com> wrote:
>> >> Can you show what ls -l /home/jkregloh/pg_data/data/pg_tblspc/ prints,
>> >> please?
>> >>
>> > [pgsql(at)postgres-93-upgrade ~]$ ls -l /home/jkregloh/pg_data/data/pg_tblspc/
>> > lrwxr-xr-x 1 pgsql pgsql 41 Dec 19 19:53 11047389 ->
>> > /home/jkregloh/pg_data/data/stats_dbspace
>>
>> Doesn't pg_upgrade do a stright replace of -d dir with -D dir
>> everywhere in paths?
>
> pg_upgrade is looking at the data dir, the database oid, and relfilenode
> to get the old path, and does the same for the new path. Tablespaces
> point to the same location in old and new clusters --- only a
> subdirectory PG_VERISON is different.
>
> Is /home/jkregloh/pg_data/data also your default cluster directory? If
> so, having tablespaces inside of there will not work well as they will
> continue to be stored in the old cluster's data directory. Those will
> not be renamed/relocated by pg_upgrade.

The thing is that /home/jkregloh/pg_data/data is his 9.0's cluster
directory and /usr/local/pgsql/data/ is 9.3's one. And pg_upgrade
tries to copy /usr/local/pgsql/data/drupal_dbspace/PG_9.0_201008051/2752430/10913518"
to /usr/local/pgsql/data/drupal_dbspace/PG_9.3_201306121/16499/12301.

In other words pg_upgrade thinks that the old tablespace is located in
the same cluster directory as the new one. That made me think that it
just replaces the cluster directory subpath everywhere.

--
Kind regards,
Sergey Konoplev
PostgreSQL Consultant and DBA

http://www.linkedin.com/in/grayhemp
+1 (415) 867-9984, +7 (901) 903-0499, +7 (988) 888-1979
gray(dot)ru(at)gmail(dot)com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Joseph Kregloh 2013-12-19 21:50:38 Re: pg_upgrade & tablespaces
Previous Message Anand Kumar, Karthik 2013-12-19 21:28:37 Best way to sync possibly corrupted data?

Browse pgsql-hackers by date

  From Date Subject
Next Message Joseph Kregloh 2013-12-19 21:50:38 Re: pg_upgrade & tablespaces
Previous Message Robert Haas 2013-12-19 21:33:00 Re: preserving forensic information when we freeze