Re: OID's - Mailing list pgsql-ru-general

From Mihail Nasedkin
Subject Re: OID's
Date
Msg-id 11624849312.20050121145201@mail.ru
Whole thread Raw
In response to Re: OID's  (Nick Gazaloff <nick@sbin.org>)
Responses Re: OID's
List pgsql-ru-general
Здравствуйте.

Спасибо Nick за ответ от 21 января 2005 г., 14:25:49 на мой вопрос:

>> У меня вопрос относительно автоматической колонки oid, которая
>> создается, если не отказаться специально (WITHOUT OID).
>>
>> Хотелось бы знать, может где-то хранятся все OID или как узнать перед
>> вставкой данных в таблицу, который OID будет использован.

NG> Хрянятся в таблице, как еще один столбец. Узнать перед вставкой -- вряд
NG> ли, особенно в многопользовательской среде.

Это понятно всем, но в какой системной таблице хранятся ВСЕ OID's, а
не только этой таблицы. Есть таблица "pg_catalog.pg_attribute" с полем
"attrelid", где хранятся все системные OID's, но нужны именно
пользовательские OID's.

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

В моем случае задача в том, чтобы использовать все пользовательские OID's в
некотором запросе с LEFT JOIN. Использовать UNION категорически
против. Система скрозной OID является своего рода осью на которую
можно "нанизать" нужные записи нужных таблиц. Для чего? Продолжение
при интересе :)

--
С уважением,
 Mihail Наседкин                         mailto:m.nasedkin.perm@mail.ru


pgsql-ru-general by date:

Previous
From: Nick Gazaloff
Date:
Subject: Re: OID's
Next
From: "Viktor Vislobokov"
Date:
Subject: Re: constraints