www.label.pl | LAB-EL Elektronika Laboratoryjna
Elektronika Laboratoryjna

Strona pochodzi z pomocy programu LBX do nadzoru klimatu - temperatury, wilgotności, co2, wiatru, ...
Producent urządzeń (termometry, higrometry, barometry, mierniki, rejestratory) oraz oprogramowania do monitoringu parametrów klimatu.

Do pobrania: Program LBX

Zapis danych do bazy PostgreSQL

Opis ogólny

Program lbx umożliwia zapis danych do zewnętrznej bazy danych SQL - PostgreSQL. Zapis do zewnętrznej bazy danych prowadzony jest równolegle z rejestracją we własnej, wewnętrznej bazie danych programu lbx.

Instalacja

Baza danych

Baza danych PostgreSQL musi zostać wcześniej osobno zainstalowana - na tym samym komputerze co działający program lbx, lub na dowolnym innym z którym istnieje połączenie sieciowe (istnieje możliwość zdalnego połączenia z bazą danych).

Jeżeli zainstalowany jest jakikolwiek firewall, należy go odpowiednio skonfigurować w celu zezwolenia na połączenie TCP pomiędzy programem lbx a bazą danych.

Program lbx

Do celu współpracy z bazą danych PostgreSQL, należy zainstalować program lbx w sposób konwencjonalny, a następnie po zakończonej instalacji skopiować do podkatalogu bin w katalogu instalacyjnym programu wszystkie pliki z archiwum lbx-postgresql-x-y-z.zip.

Konfiguracja

Baza danych

Po zainstalowaniu bazy danych, należy utworzyć w bazie danych odpowiednie konto użytkownika, który będzie służyło do autoryzacji dostępu do bazy danych. Następnie należy utworzyć pustą bazę danych, w której będą rejestrowane dane. Baza powinna być początkowo pusta - program lbx sam tworzy odpowiednie tabele. Konto użytkownika musi mieć uprawnienia do operowania na tej bazie danych - tworzenie tabel, zapis i usuwanie danych, odczyt. Nazwa konta użytkownika jak i bazy danych mogą być dowolne - podaje się je odpowiednio przy dalszej konfiguracji w programie lbx.

Program lbx

Po odpowiednim przygotowaniu bazy danych można włączyć zapis do bazy danych w programie lbx. W konfiguracji serwera na zakładce SQL należy:

  • włączyć zapis do bazy danych
  • podać dane niezbędne do połączenia z serwerem bazy danych:
    • adres serwera - adres IP lub DNS komputera na którym działa baza danych, jeżeli jest to ten sam komputer to wpisać localhost
    • numer portu - domyślnie 5432, zmienić tylko jeżeli zainstalowana baza danych skonfigurowana jest do użycia innego numeru portu
  • podać dane niezbędne do dostępu do bazy danych, zgodnie z tym jak została przygotowana baza danych:
    • nazwa bazy danych
    • konto użytkownika
    • hasło

Diagnostyka

W przypadku niemożności nawiązania połączenia z bazą danych na starcie programu lbx, błąd jest raportowany i program kończy działanie. Takie zachowanie wymusza odpowiednie przygotowanie systemu do działania, tak żeby można było polegać na poprawnym zapisie danych do bazy.

W przypadku kłopotów z połączeniem z bazą danych w trakcie dalszego działania programu lbx (np. gdy wystąpią przejściowe kłopoty z komunikacją ze bazą danych działającą na zdalnym komputerze, lub baza danych działająca lokalnie zostanie zrestartowana, itp.), podejmowane są kolejne próby połączenia z bazą danych, bez kończenia działania programu lbx. Permanentne problemy zakończą się brakiem zapisu danych.

Informacje o ewentualnych błędach dostępu do bazy danych raportowane są w logu programu lbx, tam należy szukać dalszych informacji w przypadku wystąpienia problemów.

Tabele w bazie danych

W bazie danych tworzone są następujące tabele:

  • tv - tabela ze listą zmiennych
  • tv<n> - tabele o kolejnych numerach tv0, tv1, ... tworzone dla poszczególnych zmiennych

Lista zmiennych - tabela tv

Układ tabeli tv zawierającej listę zmiennych jest następujący:

id INTEGER,     -- numer zmiennej, wyznacza numer tabeli tv
name TEXT,      -- nazwa zmiennej
info TEXT,      -- ciąg informacyjny o zmiennej
format TEXT,    -- format zmiennej
mode TEXT,      -- tryb zapisu zmiennej
quantity TEXT,  -- typ wielkości jaką reprezentuje zmienna
unit TEXT,      -- jednostka
min TEXT,       -- wartość minimum dopuszczalnego zakresu zmienności
max TEXT        -- wartość maksimum dopuszczalnego zakresu zmienności

Indywidualne zmienne - tabele tv<n>

Tabela tv<n> tworzona jest dla każdej osobnej zmiennej, numer tabeli określony jest polem id z tabeli listy zmiennych.

Każda tabela tv<n> ma dwa pola:

t TIMESTAMP PRIMARY KEY,
v [NUMERIC|REAL|INTEGER|SMALLINT|TEXT]

Pole t określa czas zapisu danej próbki (czas UTC). Pole v określa wartość danej próbki, typ tego pola zależny jest od typu zmiennej. Jeżeli w chwili rejestracji wartość próbki nie była znana, to zapisywana jest pole v o wartości NULL.