Re: OID's
От | Mihail Nasedkin |
---|---|
Тема | Re: OID's |
Дата | |
Msg-id | 11624849312.20050121145201@mail.ru обсуждение исходный текст |
Ответ на | Re: OID's (Nick Gazaloff <nick@sbin.org>) |
Ответы |
Re: OID's
|
Список | 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 по дате отправления: