On Mon, Mar 31, 2008 at 2:10 PM, Tom Lane <[EMAIL PROTECTED]> wrote:

> "Morris Goldstein" <[EMAIL PROTECTED]> 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

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to