September 15, 2024

Создание базы данных

Создание правила входящих подключений

Перед созданием БД, необходимо на пром. ПК создать правило подключения в брандмауэре, для этого:
- Панель управления -> Брандмауэр Защитника Windows -> Дополнительные параметры (слева внизу)
- Входящие правила (или Inbound Rules) -> создать новое правило (справа New Rule)

Отметить Port -> Next

Вводим порт 5432 -> Next

Далее оставляем как есть:

Далее тоже оставляем как есть. На следующем этапе именуем правило, как postgres -> Finish

Правило должно стать активным

Редактирование файла конфигурации PostgreSQL pg_hba.conf

На пром. ПК делаем следующие шаги:
- Этот компьютер -> C:\Program Files\PostgreSQL\16\data.
- Здесь находим файл pg_hba.conf, открываем при помощи блоктона или Notepad++ для редактирования.
- Копируем строку из раздела IPv4 и дублируем её ниже.

- Меняем IP адрес на "all", а вместо scram-sha-256 указываем «trust», получается строка

host all all all trust
- Сохраняем файл pg_hba.conf, закрываем блокнот.

DBeaver

Для того, чтобы создать базу данных, на ПК для настройки системы должна быть установлена программа DBeaver

1.       Открываем программу DBeaver

2.       Создаём новое подключение

3.       Выбираем PostgreSQL, жмём далее

4.       В поле хост вписываем IP адрес устройства, на котором будет храниться БД, в нашем случае это 192.168.250.2. Оставляем поле «База данных» пустым (стираем название базы данных), вводим пароль в разделе аутентификации. Ставим галочку "Показать все базы данных". При установке PostgreSQL на ПК мы как правило задаём пароль «postgres».

5.       Жмём тест соединения, должно отобразиться окно:

6.       Жмём «Готово»

7.       В дереве подключений создалось подключение с IP адресом, который мы указали

8.       Далее правой кнопкой по «Базы данных», нажимаем «Создать объект «База данных»»

9.       Даём имя нашей базе (мы используем marking), жмём OK. База данных без таблиц создана. Теперь нужно создать таблицу с помощью скрипта SQL, который должен храниться в папке с ПО для пром ПК.

Создание таблицы.

Для создания таблицы ПКМ по названию базы данных -> Редактор SQL -> Открыть SQL скрипт.

Откроется пустое окно для редактирования SQL скрипта.

Сюда нужно вставить SQL скрипт:

-- public.codes определение

-- Drop table

-- DROP TABLE public.codes;

CREATE TABLE public.codes (

id int8 GENERATED ALWAYS AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1 CYCLE) NOT NULL, -- Идентификатор записи

dtime_ins timestamp NULL, -- Дата и время добавления едииничного DataMatrix кода

code varchar(100) NOT NULL, -- Единичный DataMatrix код

status int2 DEFAULT 0 NOT NULL, -- Статус:¶0 - Не используется¶1 - код прошел через первый этап (единичное считывание DataMatrix кода и добавление записи в таблицу)¶2 - код прошел через второй этап (групповое считывание единичных DataMatrix кодов и группового DataMatrix кода и агрегация в групповую упаковку, при условии что все коды в сформированной группе были успешно считанны)¶3 - код прошел через третий этап (считывание групповых DataMatrix кодов и агрегация в палету и печать транспортного кода палеты)

dtime_status timestamp NULL, -- Дата и время присвоения статуса

gr_code varchar(100) NULL, -- Групповой DataMatrix код

dtime_gr_code timestamp NULL, -- Дата и время присвоения группового DataMatrix кода

sscc varchar(100) NULL, -- Транспортный код палеты

dtime_sscc timestamp NULL, -- Дата и время присвоения транспортного кода палеты

CONSTRAINT codes_pk PRIMARY KEY (id),

CONSTRAINT codes_unique UNIQUE (code)

);

-- Column comments

COMMENT ON COLUMN public.codes.id IS 'Идентификатор записи';

COMMENT ON COLUMN public.codes.dtime_ins IS 'Дата и время добавления едииничного DataMatrix кода';

COMMENT ON COLUMN public.codes.code IS 'Единичный DataMatrix код';

COMMENT ON COLUMN public.codes.status IS 'Статус:

0 - Не используется

1 - код прошел через первый этап (единичное считывание DataMatrix кода и добавление записи в таблицу)

2 - код прошел через второй этап (групповое считывание единичных DataMatrix кодов и группового DataMatrix кода и агрегация в групповую упаковку, при условии что все коды в сформированной группе были успешно считанны)

3 - код прошел через третий этап (считывание групповых DataMatrix кодов и агрегация в палету и печать транспортного кода палеты)';

COMMENT ON COLUMN public.codes.dtime_status IS 'Дата и время присвоения статуса';

COMMENT ON COLUMN public.codes.gr_code IS 'Групповой DataMatrix код';

COMMENT ON COLUMN public.codes.dtime_gr_code IS 'Дата и время присвоения группового DataMatrix кода';

COMMENT ON COLUMN public.codes.sscc IS 'Транспортный код палеты';

COMMENT ON COLUMN public.codes.dtime_sscc IS 'Дата и время присвоения транспортного кода палеты';

Далее выполнить скрипт

После этого, обновив Таблицы нашей базы данных, увидим, что создалась таблица codes

Открыв эту таблицу, увидим соответствующие поля

Можно тестировать запись данных в БД.