Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

...

Logovacie trezorové databázy nie sú pre PostgreSQL podporované. Vytváranie nových databáz, okrem aplikačných (tým je venovaná samostatná sekcia Aplikačné databázy v Systéme D2000), je v réžii nástroja D2MCnástroja D2000 Application Manager, ktorý ich vytvára pri pri vytváraní aplikácie alebo archívu. Tento nástroj taktiež dokáže vytvárať a spravovať databázové servisy.

Zo základného užívateľského pohľadu je vytváranie a manipulácia s databázami na databázovom systéme PostgreSQL skryté a jedinou požiadavkou je mať tento systém nainštalovanýtúto databázu nainštalovanú. V určitých prípadoch (vytváranie aplikácie alebo archívu) je potrebné zadať heslo hlavného používateľa ( postgres).

Pri každom vytváraní aplikácie s názvom Aplikacia nad databázovým systémom MyApp používajú databázový systém PostgreSQL je užívateľ povinný vybrať existujúci databázový servis , ktorý (čo zaistí beh databázy), a heslo k jeho hlavnému užívateľovi s menom postgres. Následne nástroj D2MC zaistí Následne D2000 Application Manager zaistí vytvorenie databáz v tomto databázovom servise s názvom aplikacianázvom myapp_syscfg a aplikacia myapp_logfile a umiestni ich do samostatných tabuľkových priestorov (ts_aplikaciamyapp_syscfg, ts_aplikaciamyapp_logfile) v aplikačnom adresári systému D2000 v podadresároch syscfg a logfile. Taktiež vytvorí DSN záznamy pre tieto dve databázy s názvomAplikaciaMyApp.SysCfg aAplikaciaMyApp.LogFile. Pre prístup k obom databázam je vytvorený užívateľ s menom dba, ktorý je nastavený ako ich vlastník.

Pri každom vytváraní archívu pre aplikáciu Aplikacia MyApp nad databázovým systémom PostgreSQL je užívateľ povinný vybrať existujúci databázový servis , ktorý (čo zaistí beh databázy) a heslo k jeho hlavnému užívateľovi s menom postgres. Následne nástroj D2MC D2000 Application Manager zaistí vytvorenie databázy v tomto databázovom servise s názvom aplikacia_archiv a umiestni ju do samostatných tabuľkových priestorov samostatného tabuľkového priestorou (ts_aplikaciamyapp_archiv) v aplikačnom adresári Systému D2000 v podadresári archiv. Taktiež vytvorí DSN záznam pre túto databázu s názvomAplikaciaMyApp.Archiv. Pre prístup k nej je vytvorený užívateľ s menom dba, ktorý je nastavený ako jej vlastník.

Každý trezor, resp. trezorový segment je implementovaný ako samostatná databáza. Názvy sú odvodené od názvu aplikácie (<aplikacia>_TS_#ID#, kde #ID# je číslo trezoru, prípadne <aplikacia>_TS_#ID#_#SEG#, kde #SEG# je číslo trezorového segmentu). Trezory vytvára automaticky proces D2000 Archív.

Kotva
backup
backup
Zálohovanie databáz systému D2000

Keďže zálohovanie databáz systému PostgreSQL môže byť vykonané rôznymi spôsobmi, systém D2000 neobsahuje žiadny nástroj ani funkcionalitu, ktorá by zabezpečovala zálohu takýchto databáz, s výnimkou konfiguračnej a aplikačnej databázy (tell príkazy BACKUP_SYSCFG a BACKUP_LOGFILE). Zálohu databáz je preto potrebné robiť manuálne podľa jedného zo spôsobov popisovaných v tomto návode: httphttps://www.postgresql.org/docs/9.4/staticcurrent/backup.html.

Zoznam databáz, ktoré je nutné takýmto spôsobom zálohovať, je možné odvodiť od mena aplikácie nasledovne:

...

V prípade, že je potrebné, aby systém D2000 pracoval s externou aplikačnou databázou, je pre jej integráciu nutné vytvoriť systémový DSN záznam v ODBC administrátorovi na počítači, na ktorom beží proces D2000 DBManager.

Vytvorenie PostgreSQL DSN záznamuImage Modified

Upozornenie: V 64-bitovom operačnom systéme Windows existuje 32 aj 64 bitový ODBC Administrator. DSN záznam treba vytvoriť, v takom administrátorovi, aký je proces D2000 DBManager!32/64-bitovom ODBC Administratore podľa verzie procesu D2000 DBManager (keďže 32-bitové aplikácie nemôžu používať 64-bitové DSN a naopak).

V prípade, že je nainštalovaných viacerých druhov DSN ovládačov pre PostgreSQL, V prípade výberu viacerých druhov DSN záznamov je potrebné vybrať ten, ktorý obsahuje v názve slovo slovo Unicode.

Konfiguráciu DSN záznamu pre PostgreSQL je nutné vykonať nasledovne:

  1. V hlavnom okne je nutné správne vypísať nasledovné riadky:
    Vytvorenie PostgreSQL DSN záznamu - parametre
    Database – meno existujúcej databázy.
    Server – adresa servera, na ktorom beží PostgreSQL servis (localhost v prípade toho istého počítača),
    Port – číslo portu, na ktorom počúva PostgreSQL servis

    Vyplnením mena a hesla a stlačením tlačidla Test by malo dôjsť k úspešnému pripojeniu k databáze. V prípade, že sa pripojenie zlyhalo je potrebné skontrolovať zadané údaje ako aj nastavenie PostgreSQL servisu, na ktorom beží databáza (viď sekcia: Pripojenie k PostgreSQL databáze bežiacej na dedikovanom stroji). Pozor, vo finálnom stave nenechávajte z bezpečnostných dôvodov položky meno a heslo vyplnené!

    Vyplnením týchto údajov nastavovanie neskončilo a pre správne fungovanie so systémom D2000 je potrebné pozmeniť ďalšie prednastavené parametre.
     
  2. V záložke Datasource/Page1 je potrebné dodržať nasledovné nastavenia:
    Vytvorenie PostgreSQL DSN záznamu - nastavenie
    Položku CacheSize je možné nastaviť podľa uváženia.
  • V záložke Datasource/Page2 je potrebné dodržať nasledovné nastavenia:
    Vytvorenie PostgreSQL DSN záznamu - nastavenieImage Modified
    Zvýraznené položky je potrebné

...

  • nastaviť nasledovne:
    Updateable Cursors – možnosť použiť kurzory na zápis
    bytea as LO - zápis Large Objects (blobov) do stĺpcov typu bytea 
    Server side prepare - skompilované kurzory (napr. pre parametrizované dotazy) na strane servera zlepšujú výkon. Ak je možné, odporúčame túto voľbu zaškrtnúť
    Level of rollback on errors - ak sa používajú transakčné operácie a môže dôjsť k chybe pri vykonávavní príkazu (napr. INSERT zlyhá kvôli obmedzeniu na unikátny index), tak pokiaľ je nastavený parameter na Statement, zruší sa iba posledný príkaz. Ak na Transaction, zruší sa celá transakcia. Na druhej strane, nastavenie Statement robí "mikrocommity" (savepointy) po každej operácii, čo jednak znižuje výkon a jednak spotrebúva transakčné ID, čo zase vedie k zvýšenej aktivite vacuuming-u v databáze PostgreSQL.

Takto nastavený DSN záznam je možné použiť v systéme D2000 na pripojenie k externej PostgreSQL databáze.

...

V prípade, že je nutné sa pripájať na vzdialený server, je potrebné na strane klienta nakonfigurovať DNS DSN záznam v ODBC administrátorovi, podľa predchádzajúceho návodu s jediným rozdielom v tom, že v nastavení Server treba uviesť meno alebo IP adresu servera, na ktorom beží PostgreSQL databáza.

Na dedikovanom stroji, na ktorom beží databáza, ku ktorej sa chceme pripájať, musia byť správne nastavené práva na pripájanie. Prednastavené nastavenia databázového systému PostgreSQL umožňujú pripojenie k bežiacemu databázovému servisu iba z počítača, na ktorom je spustený. V prípade potreby pripojenia sa zo siete je potrebné toto nastavenie zmeniť. Na tento účel slúži konfiguračný súbor pg_hba.conf, ktorý sa nachádza v nastavenom adresári databázového servisu.

V prednastavenom stave obsahuje nasledovné nastavenie:

Príklad nastaveniaImage Modified

Toto nastavenie zaručuje, že sa k databázovému serveru môže pripojiť iba užívateľ z toho istého počítača (127.0.0.1 predstavuje localhost).

V prípade potreby pripojenia z ktoréhokoľvek počítača, musí byť do konfiguračného súboru pridaný nasledovný riadok:

Príklad nastaveniaImage Modified

Tento riadok umožní pripojenie všetkých používateľov na všetky databázy bežiaceho servisu zo všetkých adries. Na pripojenie je však potrebné overenie heslom (metóda md5).

Vyššie uvedené nastavenie je uvedené ako ilustračný príklad a neodporúča sa používať na produkčných systémoch, keďže môže znamenať bezpečnostné riziko pri používaní slabých hesiel. Konfiguračný súbor pg_hba.conf umožňuje obmedziť prideľovanie práv k pripojeniu k databáze (na základe užívateľa alebo databázy), ktoré čo je možné zistiť napríklad zdokumentované tu:http https://www.postgresql.org/docs/9.4current/static/auth-pg-hba-conf.html.

Každá zmena tohto konfiguračného súboru vyžaduje opätovné načítanie konfigurácie (Opätovné načítanie konfigurácie databázového servisu), alebo reštartovanie databázového servisu.

...

Identifikátory tabuliek a stĺpcov v databázovom systéme PostgreSQL nezapísané v úvodzovkách nerozlišujú malé a veľké písmená. Je teda možné vytvoriť stĺpec nasledujúcim spôsobom:

create table t (id integer)

Následne je možné vytvoriť tieto dotazy:

  • select id from t
  • select Id from t
  • select ID from t
  • select "id" from t

Pričom všetky spôsoby dotazovania sa na daný stĺpec sú funkčné.

...

Teda pri vytvorení nasledovného stĺpca:

create table t ("Id" integer)

je možné sa na neho odkazovať iba v takom istom tvare, teda:

select "Id" from t

Žiadny iný variant tohto zápisu nebude funkčný (napr "ID").

Vzhľadom na komplikácie, ktoré so sebou úvodzovkovanie identifikátorov prináša, sa tento spôsob zápisu neodporúča používať. V niektorých prípadoch je ale takýto prístup nutný, napríklad, ak názov stĺpca je zhodný s niektorým kľúčovým slovom databázového systému PostgreSQL.

V prípade použitia aplikačnej databázy v Systéme systéme D2000 sa neodporúča používať úvodzovkovanie identifikátorov. Systém D2000 podporuje obe varianty zápisov, ale pri úvodzovkovaní identifikátorov je nutné toto úvodzovkovanie dodržať pri výberových a triediacich podmienkach. Toto sa môže týkať ako použitia databázových operácií v ESL skriptoch (v ktorých sa používajú WHERE podmienky), tak aj zobrazovania databázovej tabuľky v prostredí HI (ak sa zadáva výberová alebo triediaca podmienka).

D2000 Dbmanager podporuje štartovací parameter /NQ, ktorým sa vypína používanie úvodzoviek pre PostgreSQL databázy (a teda citlivosť na malé/veľké písmená v názvoch tabuliek a stĺpcoch). Odporúčame jeho používanie.


Info
titleSúvisiace stránky:

Podpora PostgreSQL v systéme D2000

...