F Блоги | Электронный журнал МГИМО МИД России

Блоги

ПРОТОКОЛ СОЗДАНИЯ НОВОГО КЛИЕНТА (Донор и Реципиент) ВМЕСТО УСТАРЕВШЕГО.

# Из командной строки Linux войти в postgres в базу main root`ом

psql main

-- Удалить остатки старого клиента с тем же номером
drop database if exists buf_old;
drop role if exists user_old;

drop database if exists buf_new;
drop role if exists user_new;

XML-данные по студенту

Функция f_read_students_complect( _groups varchar(255),  _st_guid_s text)

принимает параметры:
  1. Строка: список желаемых групп данных (одну, несколько или все в любом порядке)
       T - Test
       P - Personal Information.
       M - Marks, absences, raiting, etc.
       F - Photo (Face).
       A - Enrollee (Abituriyent).
  2. Текст: список гуидов искомых студентов разделенных пробелом, запятой и/или символом новой строки.

Функция возвращает данные в виде XML

ЛК абитуриента. Ф-ции получения XML-записи и ее статуса

f_read_student_xml 

Данная функция возвращает запись из таблицы students_xml, находя ее по переданным
параметрам в порядке приоритета слева направо:

  1-й  char(36) - GUID абитуриента (карточки)
  2-й  char(15) - № анкеты абитуриента
  3-й  integer  - № дела абитуриента
  4-й  integer  - год дела абитуриента (>=2019)

Обязательно должны быть не пусты: 1-й или 2-й или 3-й параметры.
Если 1-й не пуст - остальные игнорируются.
Если 1-й пуст, а 2-й не пуст- 3-й и 4-й игнорируются.

БОД. Повторное получение данных для клиента.

В этом тексте:

  • команды оболочки Postgres psql выделены желтым фоном

Обычно системы-клиенты регулярно получают из БОД только новые, либо обновленные данные.
Для этого есть read-функции, которые, используя служебные таблицы log_write и log_read, находят еще ни разу не считанные этим клиентом записи и отдают их в результат обычного запроса типа:

Таблицы и поля. Главный guid или id.

-- Все таблицы в схеме public
SELECT table_name FROM information_schema.tables  WHERE table_schema='public' ORDER BY table_name;

БОД. Подключение нового клиента.

В этом тексте:

  • команды оболочки Postgres psql выделены желтым фоном
  • команды Shell Linux выделены лиловым цветом

Права на запись данных буфер нового клиента:

БОД. Создание/Удаление таблицы.

В этом тексте:

  • команды оболочки Postgres psql выделены желтым фоном;
  • команды shel Linux выделены голубым фоном.

А. Для создание новой таблицы достаточно в main из под рута использовать функцию f_create_table, например, так:

БОД. Повторное получение данных для админа.

В этом тексте:

  • команды оболочки Postgres psql выделены желтым фоном

Обычно системы-клиенты регулярно получают из БОД только новые, либо обновленные данные.
Для этого есть read-функции, которые, используя служебные таблицы log_write и log_read, находят еще ни разу не считанные этим клиентом записи и отдают их в результат обычного запроса типа:

БОД. Добавление и удаление поля.

F

В этом тексте команды оболочки Postgres psql выделены желтым фоном


Способ № 1: функциональный.

 

v0.   f_add_field2table(_table varchar, _field varchar, _type varchar)
v1.   f_add_field2table(_table varchar, _field varchar, _type varchar, _exception boolean)

Страницы

Subscribe to RSS - блоги