Pavel Stěhule pracuje s PostgreSQL od roku 1999, kdy PostgreSQL byla jedinou open-source databází, ve které bylo možné psát uložené procedury a otestovat většinu ukázkových SQL příkazů z literatury. Během posledních šesti let publikoval téměř čtyři desítky článků, většinou tematicky zaměřených na PostgreSQL. Vytvořil a udržoval postgresql.ok.cz. Nyní se stará o postgres.cz. Aktivně se podílí na vývoji PostgreSQL, především na doplňování funkcionality jazyka PL/pgSQL. Je autorem modulu orafce, který se používá pro usnadnění migrace z Oracle na PostgreSQL, rozšiřujícímu modulu PL toolbox a modulu pro komfortnější kontrole kódu v PL/pgSQL – plpgsql_lint. Pracuje jako programátor ve společnosti GoodData a příležitostně školí, propaguje a konzultuje PostgreSQL.
Konference pgconf.eu, nebo dlouze PostgreSQL Conference Europe 2012 proběhne 23. až 26. října v Praze v hotelu Corinthia. To je za necelé dva týdny, proto se nezapomeňte registrovat. LinuxEXPRES je mediálním partnerem konference. Všechny rozhovory u příležitosti konání pgconf.eu 2012:
- Jean-Paul Argudo: Poptávka po PostgreSQL ve Francii každým rokem roste
- Peter van Hardenberg: Spravujeme stovky tisíc databází, data měříme na petabajty a děláme to v pěti lidech
- Pavel Stěhule: Mezi uživateli a vývojáři PostgreSQL nejsou žádné bariéry
- Vincent Picavet: Děláme svobodný software a věříme, že je to správná volba
- Tomáš Vondra: Nemám rád přístup „nemůžeme vám ukázat kód, je to naše tajemství“
- Simon Riggs: Lidi překvapuje, že je PostgreSQL zadarmo a zároveň zatraceně kvalitní
- Peter Eisentraut: Open-source projekty fungují nejlépe, když využívají standardy
- Dave Page, ředitel PostgreSQL Europe, nejen o nadcházející konferenci pgconf.eu
Co vás přivedlo k PostgreSQL?
Při práci na jednom projektu jsem potřeboval novou funkci do PL/pgSQL a tím jsem se tak nějak dostal k hackingu PostgreSQL – rozšiřování funkcionality je docela dobrodružství, které člověka může pohltit (alespoň ve fázi prototypu) – a je příjemné napsat funkci, kterou pak lidé využívají. Minimálně v PostgreSQL můžete, když vás něco štve nebo se vám to nezdá dostatečně elegantní, sednout, napsat pár řádek a problém vyřešit elegantně – což je výhoda open source.
Pokud byste měl vyjmenovat jednu nebo dvě vlastnosti PostgreSQL, které stojí za to, které by to byly?
Díky architektuře PostgreSQL se pro ni dobře píší extenze, kterých existují stovky a opravdu toho umějí hodně (viz PostGIS). V PostgreSQL se hodně dobře píší uložené procedury, a jelikož jsem poslední dobou školil oraclisty, tak si nemůžu nevšimnout, jak si pochvalují konzoli a jednoduchý export/import.
Co by mělo být co nejdříve naimplementováno?
Partitioning, který máme, je funkční, ale příliš primitivní. Chybí také lepší optimalizace pro OLAP.
Pavel Stěhule na konferenci P2D2 2011
Jaké má podle vás PostgreSQL nedostatky?
Pro mne osobně je to neexistence procedur s možností výstupu multirecordsetů (to ale moc lidí netrápí). Obecně nástroje pro binární zálohování a replikaci nejsou příliš user friendly.
Jaké další databáze používáte a jaké s nimi máte zkušenosti?
Posledních osm let používám výhradně PostgreSQL. Před tím jsem v práci hodně používal MSSQL. Občas se nachomýtnu k MySQL a Oraclu – ale to je spíš výjimka. MSSQL má hodně hezké ETL a administraci a naopak má dost primitivní a nešikovně navržené T-SQL (byť ve své době to byla špička). V PostgreSQL se perfektně píší uložené procedury a také je PostgreSQL o dost transparentnější a jednodušší na správu a používání. Na druhou stranu ETL a reporting, které jsou k dispozici, není nic, z čeho bych byl nadšený (a také to nepoužívám).
Jaké hlavní výhody vidíte v tom, že je PostgreSQL open source?
Pro typického uživatele to bude asi cena, a pak možná skutečnost, že mezi ním a vývojáři PostgreSQL nejsou žádné bariéry – není nezvyklé, že uživatelé nareportují chybu a do druhého dne mají patch. Pro mne – dejme tomu pokročilého uživatele – open source hromadu věcí zjednodušuje. Snáze se diagnostikují chyby, jednodušeji se píší věci pro PostgreSQL a mám možnost realizovat některé své nápady.
PostgreSQL se psala pro Unix, dnes běží PostgreSQL primárně na Linuxu. Má to vliv na vaši práci?
Unix má něco do sebe – a asi i díky tomu má PostgreSQL architekturu a chování, které mi vyhovuje. Linux je primární platforma pro databáze – takže ani v tom nevidím problém. Jinak kernelovým vývojářům se občas povede něco rozbít, ale vždy se na to přišlo včas, a k vzájemné spokojenosti se výkonostní regrese vyřešily.
Používáte Linux na desktopu?
Linux na desktopu používám už fůru let – souvisí to s PostgreSQL –, vývoj doplňku a hacking je na Linuxu podstatně jednodušší než ve Windows. Navíc je pro mne Linux podstatně důvěryhodnější než Windows (a lépe se mi používá, potřebuji víc ploch a terminál) a konečně nepoužívám žádnou aplikaci, která by vyžadovala Windows.
CC BY-SA Yuko Honda
Řadu let jste správcem jazyka PL/pgSQL, co byste chtěl do tohoto jazyka ještě doplnit?
Předně bych upozornil, že se necítím být správcem PL/pgSQL – jen jsem tam v posledních pěti letech přidal nejvíc funkcí. Ale třeba Tom Lane a další přepsali některé fragmenty kódu, které mají zásadní dopad na rychlost, a určitě tak měli větší vliv na tento jazyk než já. Pro mne je PL/pgSQL víceméně hotová záležitost (pokud budou commitnuté patche, které mám ve frontě pro 9.3). Dovedu si představit interní změny (větší nebo menší), ale těch by si uživatel neměl všimnout – ani nemám echo od uživatelů, že by něco zjevně postrádali (pokud to není ve smyslu „chceme, aby se to chovalo jako MSSQL“).
Mám v plánu napsat extenzi, která by v případě chyby zajistila výpis lokálních proměnných, call stacku včetně obsahu proměnných – ale to už je spíš menší projekt. V plánu mám dopsání PL/PSM – což je implementace jazyka popsaného ANSI/SQL v duchu a v prostředí PL/pgSQL. A pak mne výhledově láká implementace skutečných procedur v PostgreSQL (aktuálně má pg pouze funkce), čímž by se definitivně odstranila některá omezení, která v této oblasti PostgreSQL má.
Zúčastníte se konference pgconf.eu 2012?
Na konferenci budu – podle plánu bych měl mít půldenní školení věnované uloženým procedurám a přednášku zaměřenou na používání indexů. Určitě nevynechám Magnusovu přednášku o zálohování.
Jste členem týmu, který organizuje pgconf.eu 2012. Budete se podílet na organizování pgconf.eu i v dalších letech?
Jedním z důvodů pro založení CSPUGu byla i pomoc s organizací konference na úrovni pgconf.eu – a v okamžiku, kdy je pgconf.eu v Praze, tak chci být u toho. Na druhou stranu funguji spíš jako dohled – drtivá většina práce jde za Tomášem Vondrou coby českou spojkou a Magnusem. Tudíž ani nepředpokládám, že bych se podílel na organizaci pgconf.eu jinde a jindy.
Jak vnímáte postgresovou komunitu u nás a na Slovensku?
Tahle komunita je poměrně maličká – ale vzhledem k počtu se udělal velký kus práce – ať je to organizace P2D2, postgresových večerů, pgconf.eu nebo vlastního vývoje a podpory. Jsem rád, že se povedla generační obměna vedení CSPUGu a že v rámci komunitních akcí dokážeme přitáhnout lidi z různých oborů, různých firem, a věřím, že je to pro všechny přínosem. A snad to vydrží – PostgreSQL se používá víc a víc.
Otázky sestavili Tomáš Vondra s dalšími členy organizačního týmu konference pgconf.eu a redakce LinuxEXPRESu.