PostgreSQL este interesant în faptul că acceptă mai multe limbi pentru scrierea procedurilor stocate. Cu ce folosiți și de ce?
Când am scris primul meu declanșator, a fost în Perl pentru că asta era limba folosită în exemplul pe care l-am găsit, dar ultimul declanșator pe care l-am scris în Python pentru că mă simt mai confortabil cu asta.
Cred că confortul programatorului este principalul meu motiv pentru a alege Python, dar cred că Perl este încă mai bine susținut.
Eu am folosit cu adevărat PL / pgSQL, dar asta pentru că aveam nevoie de câteva proceduri stocate relativ repede și nu am vrut să adaug module suplimentare pe server.
Pe termen lung, aș folosi, probabil, PL / Perl sau PL / Python, deoarece folosesc perl pentru script-uri rapide și am privit acum Python pentru Python.
Un lucru pe care l-am găsit e că există o lipsă de documentație bună pentru site-ul PostgreSQL. Manualele au fost minuțioase ca referință, dar nu au funcționat bine ca un tutorial care să-i arate oamenilor cum trebuie făcut.
Acest lucru, combinat cu un mediu de depanare foarte bun, a însemnat că prima mea experiență de scriere a procedurilor implică căutarea unor erori ciudate de sintaxă pentru o lungă perioadă de timp.
Dacă cineva știe de un site bun cu tutoriale etc pentru programarea PostgreSQL, mi-ar plăcea să obțin un link către el.
Skype foloseste PostgreSQL impreuna cu python si au imbunatatit PL / Python in starea sa actuala, asa ca ma indoiesc ca suportul Python este cu mult in urma perl. Ei au scris un sistem de asteptare / replicare peste aceste legaturi, la urma urmei :-)
Take a look: Wiki Skytools
Din perspectiva rapidă în documentație, Python pare să aibă mai puțin documentație decât legăturile perl, dar aș sugera doar să rămânem cu limba pe care vă simțiți mai confortabilă.
Am scris destul de mult în plpgsql, dar sunt și un tip de bază de date în primul rând, așa că, în general, îmi convine mai bine decât orice altă limbă. Dar există o mulțime de lucruri pe care nu le face foarte bine, caz în care o altă limbă, cum ar fi plperl sau plpython, este un pariu bun. Desigur, dacă viteza este o preocupare serioasă, C este calea de urmat.
PL / Ruby pentru că folosesc Ruby în fiecare zi oricum.
Folosesc PL / pgSQL pentru majoritatea lucrurilor și dacă există ceva ce nu poate face, scriu funcții în PL / Python (care sunt rocile). De asemenea, puteți utiliza PL / Java, PL / Perl, PL / PHP.
Aș spune că Python este probabil cel mai bun în jurul valorii de unul, deoarece Python este pe aproape orice sistem linux. Perl ar fi al doilea cu Python bătând-o din cauza sintaxei mai ușor de citit.
Eu folosesc PL / Perl pentru că: