Re: [GENERAL] using ID as a key

Поиск
Список
Период
Сортировка
От Marc Tardif
Тема Re: [GENERAL] using ID as a key
Дата
Msg-id Pine.BSF.4.10.10002041732490.74743-100000@server.b0x.com
обсуждение исходный текст
Ответ на Re: [GENERAL] using ID as a key  (Ed Loehr <eloehr@austin.rr.com>)
Список pgsql-general
I've been using OID's for a while now, and I haven't had any trouble at
all so far. Because this is an active database, it has been important to
keep the current data intact. Nevertheless, I have managed to keep
everything in order even to the last OID. To dump with oid's, simply add
the -o flag to pg_dump (as explained in the pg_dump manpage).

In my situation, I particularly appreciate OID's because they have little
overhead and they simply do the job. More specifically, they come in handy
for creating a fulltextindex, which I recommend you take a look at in the
contributions.

Although I don't completely agree with Ed Loehr, he does have a point
though. Keeping track of OID's can be more complicated than using an id
field in a table. The major problem being that you can't change an OID and
you can't predict OID's either. As Bruce was telling me, OID's are
gathered in batches of 100 by each backend, so you never really know what
you'll end up with. Regardless of these obstacles, it is not wrong to use
OID's and you should be open to this option.

My 2 cents,
Marc

On Fri, 4 Feb 2000, Ed Loehr wrote:

> Bruce Momjian wrote:
> >
> > > Marc Tardif wrote:
> > > >
> > > > I recommend you read Momjian's online book, very informative and provides
> > > > all the necessary information about using various kinds of id's:
> > > > http://www.postgresql.org/docs/aw_pgsql_book/index.html
> > >
> > > In glancing at Momjian's stuff on this just now, I noticed the book
> > > could leave the first-time reader with the impression that both OIDs
> > > and sequences (ie, SERIAL) are viable choices for use as primary keys
> > > (unintentionally?).  Sequences and SERIALs are not mentioned until
> > > after a long example of how to do primary keys with OIDs.
> >
> > Don't glance.  Read the whole chapter.  It will be clear.  If people get
> > the wrong impression by reading part of the chapter, well, it's their
> > fault.
>
> What's clear is this is a really lousy answer to a specific question,
> and that you're not too open to feedback on the book.
>
> The answer, as Momjian himself points out in the section right after
> the one in which he shows you how to use OIDs as primary keys, is that
> OIDs are NOT DUMPED AT BACKUP TIME by default.  That would mean your
> newly-dumped database would be corrupt upon creation if you used
> OIDs.  Most people wouldn't appreciate that very much.  Alas, he does
> mention that you may twiddle this flag to have OIDs
> dumped...uh...er...nevermind...that documentation doesn't exist yet.
> Give me a break.
>
> The book leads people astray in this regard, Mr. Momjian.  If you'd
> want to spend time reading posts from people requesting help in
> salvaging databases corrupted by their book-inspired error, rather
> than taking a hint on a confusing presentation, that's your choice.
>
> Cheers,
> Ed Loehr
>


В списке pgsql-general по дате отправления:

Предыдущее
От: Simon Drabble
Дата:
Сообщение: Re: [GENERAL] using ID as a key
Следующее
От:
Дата:
Сообщение: Re: [GENERAL] using ID as a key