Функции Для Документирования Баз Данных Postgresql. Часть Третья

Это третья часть статьи, в которой описаны пользовательские функции для работы с системными каталогами: pg_class, pg_attribute, pg_constraints и т.д.

Функции для документирования баз данных PostgreSQL. Часть третья

В этой части статьи обсуждаются функции, которые возвращают характеристики последовательностей, наследуемые таблицы , и особые характеристики атрибутов таблицы .

смотрите также Функции для документирования баз данных PostgreSQL. Первая часть ; Функции для документирования баз данных PostgreSQL. Часть вторая ; Функции для документирования баз данных PostgreSQL. Конец (часть четвертая) .

Первая половина статьи содержит комментарии по реализации функций.

Второй содержит исходные коды функций.

Тем читателям, которых интересуют только исходные тексты, мы предлагаем сразу перейти к Приложение .



Структура функции, возвращающей список характеристик последовательности таблиц



Функции для документирования баз данных PostgreSQL. Часть третья

Рис.

2. Функции, от которых зависит функция admtf_Table_Sequences Таблица 11. Назначение функций.

Имя Цель
1 admtf_Sequence_Features Функция возвращает список характеристик последовательности таблиц.

2 admtf_Table_Sequences Функция возвращает список последовательностей таблиц базы данных и их характеристики.



Функция admtf_Sequence_Features — список характеристик последовательности базы данных

Функция admtf_Sequence_Features возвращает список функций базы данных SEQUENCE. Исходный код можно посмотреть и скачать здесь .

Функция admtf_Sequence_Features возвращает список характеристик последовательности ( ПОСЛЕДОВАТЕЛЬНОСТЬ ) База данных .

Функция принимает имя последовательности ( a_SequenceName ) и имя схемы, внутри которой была создана последовательность ( a_SchemaName ).

Потребность в функции admtf_Sequence_Features возникла из-за того, что основные характеристики последовательности фактически хранятся в таблице, имя которой совпадает с именем последовательности, а данные извлекаются из нее с помощью оператора ВЫБИРАТЬ .

В этом случае имя последовательности, имя схемы и комментарий к последовательности сохраняются в каталогах.

pg_class , pg_namespace И pg_description .

  
   

SELECT * FROM kr_road_network_vertices_pgr_id_seq;

Примечание 6 В версии 10 PostgreSQL разделил характеристики последовательности и характеристики ее состояний.

Для этого был создан каталог.

pg_sequence с характеристиками последовательности, содержащими начальное значение ( начальное_значение ), приращение ( приращение_по ) и максимальное значение( максимальное_значение ) последовательности.

Последнее значение, возвращаемое последовательностью ( последнее_значение ) и оставил его в «таблице» с названием последовательности.

Конец примечания.

Представление каждой последовательности как аналога таблицы, я думаю, продиктовано необходимостью хранить последнее использованное значение последовательности( последнее_значение ), что является характеристикой состояния последовательности, но не последовательности как таковой.

Запись последовательности каталога pg_class отличается от записи таблицы значением типа отношения (relkind='S').

Чтобы извлечь характеристики произвольной последовательности, вам придется использовать динамический SQL.

EXECUTE 'SELECT last_value,start_value,increment_by,max_value FROM '|| LOWER(a_SchemaName)||'.

'||LOWER(a_SequenceName) INTO v_SequenceLastValue,v_SequenceStartValue, v_SequenceIncrementBy,v_SequenceMaxValue ;

Теги: #Администрирование базы данных #postgresql #pg_class #pg_attribute #pg_type #pg_constraints #pg_namespace #pg_description #pg_index #pg_index #pg_am #pg_am #pg_am #pg_dependent #pg_dependent #pg_sequence #pg_sequence

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.