Re: FAQ 4.15 misleading about uniqueness of OIDs
От | Bruce Momjian |
---|---|
Тема | Re: FAQ 4.15 misleading about uniqueness of OIDs |
Дата | |
Msg-id | 200501300208.j0U289X03385@candle.pha.pa.us обсуждение исходный текст |
Ответ на | FAQ 4.15 misleading about uniqueness of OIDs (Michael Fuhr <mike@fuhr.org>) |
Список | pgsql-docs |
Michael Fuhr wrote: > FAQ 4.15 "What is an OID? What is a TID?" is misleading about the > uniqueness of OIDs. It does mention the possibility of overflow > (while mentioning that nobody has ever reported it), but it doesn't > discourage their use as primary keys like the documentation does > in, for example, the following sections: > > http://www.postgresql.org/docs/8.0/static/datatype-oid.html > http://www.postgresql.org/docs/8.0/static/ddl-system-columns.html Wow, that one really needed updating! Here is the new text: --------------------------------------------------------------------------- 4.15) What is an OID? What is a TID? Every row that is created in PostgreSQL gets a unique OID unless created WITHOUT OIDS. OIDs are autotomatically assigned unique 4-byte integers that are unique across the entire installation. However, they overflow at 4 billion, and then the OIDs start being duplicated. PostgreSQL uses OIDs to link its internal system tables together. To uniquely number columns in user tables, it is best to use SERIAL rather than OIDs because SERIAL sequences are unique only within a single table. and are therefore less likely to overflow. SERIAL8 is available for storing eight-byte sequence values. TIDs are used to identify specific physical rows with block and offset values. TIDs change after rows are modified or reloaded. They are used by index entries to point to physical rows. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
В списке pgsql-docs по дате отправления: