Re: OID's

From: "Alexander M(dot) Pravking" <fduch(at)antar(dot)bryansk(dot)ru>
To: Mihail Nasedkin <m(dot)nasedkin(dot)perm(at)mail(dot)ru>
Cc: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: OID's
Date: 2005-01-21 17:12:00
Message-ID: 20050121171200.GA75942@dyatel.antar.bryansk.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

On Fri, Jan 21, 2005 at 02:52:01PM +0500, Mihail Nasedkin wrote:
> NG> Хрянятся в таблице, как еще один столбец. Узнать перед вставкой -- вряд
> NG> ли, особенно в многопользовательской среде.
>
> Это понятно всем, но в какой системной таблице хранятся ВСЕ OID's, а
> не только этой таблицы. Есть таблица "pg_catalog.pg_attribute" с полем
> "attrelid", где хранятся все системные OID's, но нужны именно
> пользовательские OID's.

attrelid в данном случае - лишь ссылка на pg_catalog.pg_class.oid.
ВСЕ системные таблицы имеют столбец oid, и именно это его основное
назначение.

> NG> А зачем все это? Я вот с радостью отключил OID по дефолту в 8.0, ибо
> NG> надобность в них сомнительная.
> Мое мнение в том, что система уникальности записи в пределах всех баз
> данных конкретной инсталляции PostgreSQL независимо от принадлежности
> к конкретной таблице является интересным для нестандартных решений в
> приложениях. Конечно можно такую задачу решать каждому разработчику
> своими силами и это реализовано в других SQL-серверах.
> Однако, если уникальность уже реализована на системном уровне сервера - это большой
> плюс PostgreSQL. Я всегда использую OID's.

Чем не вариант - уникальность с помощью SEQUENCE, тоже на уровне сервера?
Конечно, между базами уникальности не получится, а вот между всеми
таблицами в базе - вполне. К тому же, если не ошибаюсь, oid - поле
32-битное, тогда как значение в SEQUENCE - 64-битное, что даёт бОльшую
гарантию, что значение не переполнится на больших объёмах данных.

И можно заранее достать значение, которое больше никем использовано не
будет.

--
Fduch M. Pravking

In response to

  • Re: OID's at 2005-01-21 09:52:01 from Mihail Nasedkin

Responses

  • Re: OID's at 2005-01-24 04:05:32 from Mihail Nasedkin

Browse pgsql-ru-general by date

  From Date Subject
Next Message Nick Gazaloff 2005-01-21 17:14:29 Re: pgsql-ru-general archive is available
Previous Message Oleg Bartunov 2005-01-21 16:18:10 pgsql-ru-general archive is available