Last active
July 9, 2018 14:16
-
-
Save steklopod/07f91f4fbc8e1c7ff27efde1ab468290 to your computer and use it in GitHub Desktop.
Postgres-gen_data
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SET search_path TO ifd_test, test; | |
SHOW search_path; | |
CREATE SCHEMA IF NOT EXISTS test; | |
DROP TABLE IF EXISTS esb_out_a_report; | |
CREATE TABLE IF NOT EXISTS esb_out_a_report ( | |
message_id SERIAL NOT NULL PRIMARY KEY, | |
operation_code INT DEFAULT NULL, | |
message_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
entity_id VARCHAR(250) DEFAULT NULL, | |
receiver_id INT DEFAULT NULL, | |
maintenance_flg INT NOT NULL, | |
business_data_int INT DEFAULT NULL, | |
business_data_varchar VARCHAR(250) DEFAULT NULL, | |
business_data_date DATE DEFAULT NULL | |
); | |
COMMENT ON COLUMN esb_out_a_report.message_id | |
IS 'Последовательная техническая нумерация сообщений. Генерируется автоматически на уровне DB (автоинкремент).'; | |
COMMENT ON COLUMN esb_out_a_report.operation_code | |
IS 'Тип операции в системе-источнике, заполняется при наличии требований. Заполняется источником: 0 – Вставка, 1 – Обновление, 2 – Удаление'; | |
COMMENT ON COLUMN esb_out_a_report.message_dt | |
IS 'Timestamp (дата и время) возникновения записи в таблице. Заполняется автоматически, используется для расследования инцидентов. Заполняется источником. Заполняется автоматически на уровне БД.'; | |
COMMENT ON COLUMN esb_out_a_report.entity_id | |
IS 'ID сущности используемый в системе. Используется для расследования инцидентов. Заполняется на стороне источника. Для составного ключа используется разделитель «;».'; | |
COMMENT ON COLUMN esb_out_a_report.receiver_id | |
IS 'Содержит дополнительный признак в случае повторных и корректирующих выгрузок, указывающий, какой из потоков является получателем этих сообщений: | |
null – все потоки являются получателем этого сообщения | |
UID потока – только поток с соответствующим UID должен осуществить доставку. Другие потоки игнорируют эти сообщения, прокручивая счетчик очереди соответствующим образом | |
При регламентной публикации сообщений: Система-источник заполняет поле значением null | |
При повторной выгрузке: Шина заполняет поле значением UID потока для которого предназначается выгрузка, либо null, если выгрузка предназначена всем получателям | |
При корректирующей выгрузке: | |
Система-источник заполняет поле значением UID потока, запросившего корректирующую выгрузку (поле receiver_id в таблице запроса корректирующей выгрузки).'; | |
COMMENT ON COLUMN esb_out_a_report.maintenance_flg | |
IS 'Флаг с признаком корректирующей выгрузки.: | |
0 – Регламентная публикация пакетных данных | |
1 – Корректирующая выгрузка пакетных данных | |
Заполняется системой-источником'; | |
COMMENT ON COLUMN esb_out_a_report.business_data_int | |
IS 'Бизнес данные в формате integer'; | |
COMMENT ON COLUMN esb_out_a_report.business_data_varchar | |
IS 'Бизнес данные в формате varchar'; | |
COMMENT ON COLUMN esb_out_a_report.business_data_date | |
IS 'Бизнес данные в формате date'; | |
TRUNCATE TABLE esb_out_a_report; -- из -> | |
CREATE TEMPORARY SEQUENCE IF NOT EXISTS seq | |
START 1; | |
CREATE TEMPORARY SEQUENCE IF NOT EXISTS seq_2 | |
INCREMENT BY 5 | |
START 5; | |
INSERT INTO esb_out_a_report(message_id, | |
entity_id, | |
maintenance_flg, | |
operation_code, | |
receiver_id, | |
business_data_date, | |
message_dt, | |
business_data_int, | |
business_data_varchar) | |
SELECT seq, | |
CONCAT('id #', seq), | |
seq, | |
RANDOM() * 666, | |
NULL, | |
NOW(), | |
CURRENT_TIMESTAMP, | |
2147483647, | |
(SELECT MD5(RANDOM() :: TEXT)) | |
FROM generate_series(1, 500) AS seq; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment