Najprv by som chcel podakovat za pekny clanok. Pouzivame PostgreSQL uz dlhe roky pre nase Java aplikacie. Strucne:
1) Existuje nejaka statistika ako sa PostgreSQL bezne pouziva? Java backend, ine web aplikacie, … .
2) Vsetky tieto vlastnosti su fajn ale existuje plan ako ich napriklad integrovat do Hibernat-e?
3) Bude sa riesit optimalizacia JDBC drivera?
Sme focusovany na Javu ale napriklad uz iba hlupe ‚like‘ medzi cislom a retazcom bol v 8.3 zakazany. Pritom chcem obycajne „345 like 3 = true“ alebo „345 like ‚3%‘ = true“. Ano v cistom SQL sa to robi lahko tak ako to popisujete zo vselijakymi SQL extensiami ale skuste to urobit tak aby to fungovalo cez Hibernate → JDBC → Databaza. Mate problem. Takze nakoniec zistite ze mate silnu databazu s roznymi skvelymi funkciami ku ktorym sa neviete dostat.
Podpora sequncer per table – out of box, BLOBy, to su veci ktore sa stale s Javy robia dost tazko obzvlast cez Hibernate. Nesuvisi to priamo s databazou dokonca ani s JDBC drivrom ale keby ste to vyriesili vela Java developerov by vam boli vdacnych. Je pekne ze sa zaoberate partitioningom ale pokial sa potom musite potykat so zakladnymi problemami ako je BLOB a byte[] a musite si koli tomu citat 3 hodiny clanky na internete aby ste to spravne nastavili tak vas humor prejde. Pritom v Oracle a MySQL to ide bez problemov.
Napriek tomu drzim palce a dakujem za skvelu databazu.
No, on ten JDBC driver má víc much, například doporučuji dávat si velký pozor při práci s kurzory (v podstatě je vůbec nepoužívá, takže například HOLD_CURSORS_OVER_COMMIT není podporováno) a s dávkami.
V podstatě, pro nejaké „pokročilejší“ použití je potřeba zapnout debugování a zkoumat jak vlastně komunikuje se serverem.
Osobně mám pocit, že se teď pg používá nejvíc právě s Javy – bohužel v core týmu není nikdo, kdo by Javě rozuměl a měl ji v oblibě – a ti lidé, kteří píší JDBC driver mají asi dost specifický přístup :(. Je to Open Source – ta kvalita je dána lidma, kteří to píší a záleží jak moc to berou osobně. Core pg jsou všíchni céčkaři. Je to dost vidět na .NET driveru, za kterým je jeden nadšenec, a který je o dost dál.