Создание базы данных
Создание правила входящих подключений
Перед созданием БД, необходимо на пром. ПК создать правило подключения в брандмауэре, для этого:
- Панель управления -> Брандмауэр Защитника Windows -> Дополнительные параметры (слева внизу)
- Входящие правила (или Inbound Rules) -> создать новое правило (справа New Rule)
Далее тоже оставляем как есть. На следующем этапе именуем правило, как 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
3. Выбираем PostgreSQL, жмём далее
4. В поле хост вписываем IP адрес устройства, на котором будет храниться БД, в нашем случае это 192.168.250.2. Оставляем поле «База данных» пустым (стираем название базы данных), вводим пароль в разделе аутентификации. Ставим галочку "Показать все базы данных". При установке PostgreSQL на ПК мы как правило задаём пароль «postgres».
5. Жмём тест соединения, должно отобразиться окно:
7. В дереве подключений создалось подключение с IP адресом, который мы указали
8. Далее правой кнопкой по «Базы данных», нажимаем «Создать объект «База данных»»
9. Даём имя нашей базе (мы используем marking), жмём OK. База данных без таблиц создана. Теперь нужно создать таблицу с помощью скрипта SQL, который должен храниться в папке с ПО для пром ПК.
Создание таблицы.
Для создания таблицы ПКМ по названию базы данных -> Редактор SQL -> Открыть SQL скрипт.
Откроется пустое окно для редактирования SQL скрипта.
Сюда нужно вставить SQL скрипт:
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)
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 'Статус:
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
Открыв эту таблицу, увидим соответствующие поля