| From: | "Hiroshi Inoue" <Inoue(at)tpf(dot)co(dot)jp> |
|---|---|
| To: | "Bruce Momjian" <maillist(at)candle(dot)pha(dot)pa(dot)us> |
| Cc: | "PostgreSQL-development" <pgsql-hackers(at)postgreSQL(dot)org> |
| Subject: | RE: [HACKERS] tables > 1 gig |
| Date: | 1999-06-18 03:57:14 |
| Message-ID: | 001001beb93e$a6c6a620$2801007e@cadzone.tpf.co.jp |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
> > >
> > > How about my idea of creating a truncated file, the renaming it to the
> > > table file. That keeps the table open for other open file
> descriptors,
> > > but put a zero-length file in place in an atomic manner.
> > >
> >
> > Sorry,I couldn't understand what you mean.
> > What is differenct from truncating existent files to zero length ?
>
> Glad to explain. Here is the pseudocode:
>
> create temp file, make it zero length, call it 'zz'
> rename(zz,tablename)
>
> What this does is to create a zero length file, and the rename unlinks
> the tablename file, and puts the zero-length file in it's place.
> rename() is atomic, so there is no time that the table file does not
> exist.
>
Let
i1 be the inode of zz
i2 be the inode of tablename
before rename().
Does this mean
New backends read/write i1 inode and
backends that have the table open read/write i2 inode ?
If so,it seems wrong.
All backends should see same data.
Regards.
Hiroshi Inoue
Inoue(at)tpf(dot)co(dot)jp
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bruce Momjian | 1999-06-18 04:01:18 | Re: [HACKERS] tables > 1 gig |
| Previous Message | Bruce Momjian | 1999-06-18 03:15:32 | Re: [HACKERS] tables > 1 gig |