Re: [HACKERS] tables > 1 gig

From: Thomas Lockhart <lockhart(at)alumni(dot)caltech(dot)edu>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>, "PostgreSQL-development"(at)candle(dot)pha(dot)pa(dot)us, pgsql-hackers(at)postgreSQL(dot)org, Inoue(at)tpf(dot)co(dot)jp
Subject: Re: [HACKERS] tables > 1 gig
Date: 1999-06-20 00:20:20
Message-ID: 376C33C4.A623F476@alumni.caltech.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us> writes:
> >> Then we'd better fix the underlying problem. We can't change
> >> RELSEG_SIZE for a minor release, unless you want to give up the
> >> principle of not forcing initdb at minor releases.
> > Why can't we increase it?
> Consider a 1.5-gig table. 6.5 will store it as one gig in file "table",
> one-half gig in file "table.1". Now recompile with larger RELSEG_SIZE.
> The file manager will now expect to find all blocks of the relation in
> file "table", and will never go to "table.1" at all. Presto, you lost
> a bunch of data.
> Bottom line is just as it says in the config.h comments: you can't
> change either BLCKSZ or RELSEG_SIZE without doing initdb.

Sorry for backing up so far on this thread...

Would it be possible to make BLCKSZ and/or RELSEG_SIZE (the latter
perhaps the most important, and perhaps the easiest?) a configurable
parameter which is read out of a global variable for each database? If
so, we could later think about moving it, along with things like
"default character set", to pg_database as per-db information, and
make it an option on CREATE DATABASE. That kind of thing might make
in-place upgrades easier too.

- Thomas

--
Thomas Lockhart lockhart(at)alumni(dot)caltech(dot)edu
South Pasadena, California

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Lockhart 1999-06-20 00:45:15 Info on Data Storage
Previous Message gravity 1999-06-20 00:11:28 anyone build postgres 6.5 ( or 6.4 ) on IRIX 6.3 lately?