Jak se připojit k databázi ABRA FlexiBee?

Pokud si chceme hrát s uživatelskými dotazy ve FlexiBee, budeme se dřív nebo později potřebovat připojit přímo do PostgreSQL databáze, ve které jsou uložena data. Buď kvůli tomu, že je to jediná možnost, jak zjistit databázové schéma, nebo kvůli tomu, že ladění dotazů přímo v databázi je mnohem příjemnější.

Jak se připojit k API je celkem známá věc. Jak se připojit k databázi FlexiBee je už známo méně. Přitom je to celkem podobné :-)

Přístupové údaje

Host: localhost
Port: 5435
Username: dba
Password: 7971

pgAdmin 3

K připojení je nejlepší použít nástroj pgAdmin 3, který je dostupný pro všechny operační systémy, které FlexiBee podporuje (Windows, Linux, macOS).

Po úspěšné instalaci pgAdminu zvolíme možnost Add server (menu File).

Do pole Name vyplníme jméno připojení. Toto jméno je libovolné. Nic ale neovlivňuje.

Do pole Host vyplníme adresu serveru. Většinou localhost, pokud se snažíme připojit k „místnímu počítači“. Pokud se budeme chtít připojit ke vzdálenému serveru, zadáme jeho adresu. Pozor ale na to, že na vzdáleném serveru musí být správně nastaven pg_hba.conf.

Pole Port vyplníme hodnotou 5435. Pozor, standardní port FlexiBee serveru je 5434. Port 5435 je port FlexiBee PostgreSQL.

Poslední pole, která musíme vyplnit a neponechat výchozí hodnoty, jsou Username a Password. Databázový administrátor má uživatelské jméno dba a heslo 7971.

Add server


Jsme připojeni a můžeme se směle vrhnout do zkoumání databáze FlexiBee. Pro každou firmu je vytvořena samostatná databáze. Její jméno je stejné jako identifikátor firmy používaný při připojování přes REST-API.

PSQL

Dalším programem, který je možné k připojení použít je psql. Tento program je součástí instalace FlexiBee a není tedy nutné instalovat žádný další program. Jeho výhodou oproti pgAdminovi je to, že neobsahuje žádné GUI a je ho tedy možné používat i na serverech bez grafického rozhraní.

Spuštění PSQL

Windows:
"%flexibee_dir%\pgsql\9.3\bin\psql" -U dba -p 5435 -h localhost -d centralServer
Linux:
psql -U dba -p 5435 -h localhost -d centralServer
macOS:
/Library/WinStrom-PostgreSQL/bin/psql -U dba -p 5435 -h localhost -d centralServer

Po spuštění příkazu je potřeba zadat heslo 7971 a stisknout ENTER.

Příkazy PSQL

Příkazem \l zobrazíme výpis všech databází. Jedna firma = jedna databáze. Jméno databáze je shodné jako identifikátor firmy využívaný při API připojeních.

Pomocí příkazu \c jmenoDatabaze se připojíme ke konkrétní databázi.

Závěr

Uživatelské dotazy jsou velmi silnou funkcí ve FlexiBee. Byla by škoda je nevyužívat jen kvůli tomu, že neznáme databázové schéma. Také ladění dotazů je mnohem jednodušší přímo v databázi než přes FlexiBee. Do FlexiBee je vhodné zadávat až finální verzi odladěného dotazu.

A mimochodem, FlexiBee umožňuje jako Uživatelský dotaz jen select … Insert, update a delete jsou nepovolená slova. Pokud ale máme přístup k databázi, můžeme i toto omezení obejít a doplnit například funkci, která bude provazovat dobropis s fakturou ;-). Její volání je pak select funkce :-).

Aktualizace 26.5.2017

Při tvorbě uživatelských dotazů je možná dobré si prohlídnout moji prezentaci z FlexiBee Developers Day 2014.

Uživatelské dotazy - když standardní nástroje nestačí

ABRA FlexiBee, PostgreSQL, Uživatelské dotazy

- (28. 7. 2017)

Líbil se vám článek?

Nasdílejte ho svým přátelům na sociálních sítích.

Google+

Názory, připomínky a jiné komentáře

Zatím nikdo nic nenapsal. Buďte první :-).

Vložit nový komentář
Kája z Norska
Kája z Norska

Jsem programátor, horolezec a tak trochu FlexiBee fanatik :-).
Na CharlieBlogu sepisuji své nápady a poznatky už od roku 2006.