metadata about table columns - Mailing list pgsql-ru-general

From Sergey Karin
Subject metadata about table columns
Date
Msg-id S6936289AbVDTMsx/20050420124853Z+53690@gnome09.net.rol.ru
Whole thread Raw
Responses Re: metadata about table columns  (Sergey Suleymanov <solt@eatpbank.ru>)
Re: metadata about table columns  (Oleg Bartunov <oleg@sai.msu.su>)
List pgsql-ru-general

Всем привет.

 

Продолжение темы ГИС, PostGIS и PostgreSQL :)

атрибуты объектов (т.е. колонки в реляционной таблице) могут иметь только названия согласно требованиям именования полей таблиц. Это есть ограничение, т.к. я не могу атрибуту объекта задать удобоваримое название, например, по-русски. А очень хоцца.

Выходов я вижу три.

1) создать таблицу с метаданными, в которой будут хранится удобоваримые названия, эти самые неудобоваримые (названия колонок), а также название реляционной таблицы, в которой эта самая колонка (атрибут) созданы. Т.е. никак не использовать информацию из системного каталога. (pg_class и pg_attribute). Соответственно все операции будут выполняться через специально заданный инструментарий в виде функций и/или триггеров.

2) В таблице с метаданными (как в п.1) использовать внешний ключ на таблицу pg_attribute. Т.е. хранить только удобоваримое название и ссылку на строку в таблице pg_attribute, которая описывает колонку.

3) Не создавать никаких своих таблиц с метаданными, а добавить в системный каталог (alter table pg_attribute) новое поле, которое будет описывать удобоваримое название.

 

Мне наиболее симпатичен первый вариант. Наименее – третий.

 

Прав ли я, и возможны ли другие решения?

 

Сергей Карин

 

pgsql-ru-general by date:

Previous
From: Oleg Bartunov
Date:
Subject: Re: pgsphere
Next
From: Sergey Suleymanov
Date:
Subject: Re: metadata about table columns