Když příkazová řádka nestačí
Mnohdy se můžeme dočíst, že nejlepším klientem pro databázový systém PostgreSQL je psql – klient ovládaný z příkazové řádky a vyvíjený společně s vlastním systémem. Je pravda, že toho lze s tímto nástrojem zvládnout hodně, mnoha lidem ale tento přístup nevyhovuje a mají raději něco „klikacího“, kde mají všechno přehledně před sebou a nemusejí si pamatovat nebo hledat příkazy, kterými se má udělat to či ono.
Takovým programem je i pgAdmin III. Jeho tvůrci tvrdí, že je nejpopulárnější aplikací svého druhu (což je možná pravda; programu může co do rozšířenosti konkurovat asi jen phpPgAdmin, ale to je webová aplikace). Faktem však rozhodně je, že velmi oblíbený a široce rozšířený.
Co je pgAdmin
Program pgAdmin je k dispozici pro celou řadu platforem, například Linux, Windows, OS X, *BSD a další (na některých platformách bývá dokonce přiložen do instalačního balíčku PostgreSQL). Je na jednu stranu grafickou aplikací se snadným ovládáním, současně ale uživatele nijak neomezuje v přímé práci v jazyce SQL a naopak pro ni poskytuje vydatnou podporu.
Licence je u programu pgAdmin stejná jako u samotného systému PostgreSQL. Je to licence permisivní, podobná licencím BSD a MIT.
Kromě práce s databázovým systémem PostgreSQL zvládá pgAdmin také práci s replikačním nástrojem Slony. Navíc obsahuje nástroje pgAgent – ten běží v systému jako démon (systémová služba) a spouští naplánované dávkové úlohy. Funkce, které nejsou přímo zabudovány do programu, lze přidat pomocí zásuvných modulů.
Přístup k databázovému stroji
K databázovému stroji (serveru) se lze připojovat jak přímo (samozřejmě s možností využití SSL/TLS, a to i klientským certifikátem, pokud je třeba), tak i SSH tunelem (to lze samozřejmě zajistit i ručně – ale proč to dělat, když se o to pgAdmin postará). Heslo pro ověření uživatele si lze uložit, i když se to ze zjevných důvodů nedoporučuje.
Jednotlivých připojení může být libovolný počet. Lze je odlišovat barevně a třídit do skupin. Přestože to z připojovacího dialogu není zcela zřejmé, kromě připojení přes TCP port lze využít i lokální (unixový) socket, samozřejmě pokud to systém umožňuje a databázový server na něm naslouchá.
Vzhled prostředí, procházení objekty
Hlavní okno aplikace vypadá tak, že vlevo je strom objektů (od skupin serverů až po například sloupce v databázové tabulce), hlavní část okna je pak rozdělena svisle – nahoře se zobrazují vlastnosti objektů a dole vyjádření v jazyce SQL, pokud má smysl.
Vzhled hlavního okna aplikace pgAdmin
Na objekty ve stromě lze pomocí kontextové nabídky aplikovat různé operace, například zobrazování a úpravy vlastností, přidávání nových objektů nebo generování skriptů či výstupních sestav. Některé funkce jsou dostupné také z hlavní nabídky.
V hlavní části okna se vlastnosti objektů zobrazují na čtyřech kartách. Na té „základní“ (Vlastnosti) jsou uvedeny běžné vlastnosti objektu, například název, vlastník, komentář atd. Dále je tu karta Statistiky, zobrazující různé statistické údaje umožňující si udělat obraz o tom, jak je daný objekt (například tabulka nebo index) v databázi uložen.
Zbývající dvě karty Závislosti a Závisející jsou velmi užitečné, protože je z nich vidět, na kterých objektech daný objekt závisí, resp. které objekty závisejí na něm. Pokud tedy třeba upravujete pohled závisející na jiných pohledech, můžete se podívat, které další pohledy bude ještě potřeba upravit, aby upravovaný pohled správně fungoval.
Správa vlastností objektu (v tomto případě tabulky)
Pro správu vlastností jednotlivých objektů se otevírají dialogová okna, která mívají řadu karet s nastavování různých vlastností. Jejich skladba se liší podle typu objektu, nikdy nechybí základní vlastnosti a obvykle také oprávnění.
Dotazovací nástroj
Dotazovací nástroj neslouží jen k dotazování, lze s ním pracovat na databázi v plné šíři funkcí, tedy třeba měnit strukturu, přidávat či odebírat role, zavádět rozšíření apod. Výstupy lze odesílat jak přímo na obrazovku (do určené části okna), tak i do souboru. Nástroj umožňuje také snadný přístup k výkladu dotazu (EXPLAIN) a pamatuje si historii.
SQL dotaz a jeho grafický výklad
Výklad dotazu má jak textový, tak grafický výstup. Snadno tak lze získat podrobný přehled o tom, jak PostgreSQL daný dotaz zpracovává.
Kromě přímé práce v jazyce SQL má dotazovací nástroj také možnost sestavit dotaz graficky („naklikat“ si ho). Jednoduše si přetaháte na plochu jednotlivé tabulky a pohledy, propojíte sloupce (přes které se mají tabulky spojovat) a nadefinujete restrikce a řazení. Nástroj z grafické reprezentace vytvoří SQL dotaz a provede ho (obrácený postup, tedy vytvoření grafické podoby dotazu napsaného v SQL ale bohužel možný není).
Grafické sestavení databázového dotazu
V dotazovacím nástroji najdete i poznámkový blok. Je to užitečná drobnost, umožňuje si poznamenat něco, co se bude během další práce hodit, aniž by bylo potřeba otvírat nějaký externí nástroj.
Další funkce
K dalším dostupným funkcím patří třeba sledování stavu serveru, editor nastavení serveru, zálohování a obnova dat či již zmíněná práce s replikací Slony. Démon pgAgent standardně není spuštěn a nemusí být ani nainstalován (například linuxové distribuce ho běžně mívají v samostatném balíčku, který je potřeba nainstalovat). Pokud ale běží a přidá se pro něj podpora i do databáze (formou přidání rozšíření), lze si pak vytvářet dávkové úlohy a plánovat jejich spouštění.
Používat, nepoužívat?
Prakticky neexistuje důvod, proč databázový klient pgAdmin III nepoužívat. Nějaká negativa by se hledala asi jen velmi těžko, podobně se bude obtížně hledat srovnatelná aplikace, která by toho uměla tolik. Takže asi jediný důvod, proč by mohl chtít někdo používat v grafickém prostředí něco jiného, je omezení jen na systém PostgreSQL a jeho komerční deriváty. Nezávislost na databázi, jakou poskytuje třeba SQuirreL SQL, tato aplikace opravdu nabídnout nemůže.