Re: Can Postgres 8.x start if some disks containing tablespaces are not mounted? - Mailing list pgsql-general

From Morris Goldstein
Subject Re: Can Postgres 8.x start if some disks containing tablespaces are not mounted?
Date
Msg-id 41b6f5c20804010712rb5f363nf3d26f83dfc92d53@mail.gmail.com
Whole thread Raw
In response to Re: Can Postgres 8.x start if some disks containing tablespaces are not mounted?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Can Postgres 8.x start if some disks containing tablespaces are not mounted?  ("Gurjeet Singh" <singh.gurjeet@gmail.com>)
Re: Can Postgres 8.x start if some disks containing tablespaces are not mounted?  (Zdenek Kotala <Zdenek.Kotala@Sun.COM>)
List pgsql-general
On Mon, Mar 31, 2008 at 2:10 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

> "Morris Goldstein" <morris.x.goldstein@gmail.com> writes:
> > Suppose I have a database with $PGDATA on /dev/sda, and a tablespace
> > directory on /dev/sdb. Will Postgres start successfully if /dev/sda is
> > mounted and /dev/sdb is not? If not, why not?
>
> It will start, but you will have unpleasant failures when you try to use
> tables in the secondary tablespace

Understood. I can guarantee that there will be no such accesses until
/dev/sdb is mounted.

> ... note that if autovacuum is on,
> that is likely to happen even without any explicit action on your part.

That's a good point. We don't use autovacuum, and I guess we'd have to
forego it. (Or can it be turned on and off dynamically?)

But that makes me wonder: what about this sequence of events:

- Postgres running normally on /dev/sda and /dev/sdb.
- Update to table in /dev/sdb tablespace is committed but still exists in WAL.
- Postgres crashes (e.g. power failure).
- Postgres starts with /dev/sda only.
- Recovery needs to update table in /dev/sdb tablespace.

I assume bad things will happen in this case.

Jack

pgsql-general by date:

Previous
From: "korry"
Date:
Subject: Re: Role attribute for user email?
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] ANALYZE getting dead tuple count hopelessly wrong