Domanda

PostgreSQL è interessante in quanto supporta diversi linguaggi per la scrittura di procedure memorizzate.Quale usi e perché?

È stato utile?

Soluzione

Skype utilizza PostgreSQL insieme a Python, e hanno migliorato PL/Python allo stato attuale, quindi dubito che il supporto di Python sia molto indietro rispetto a Perl.Dopotutto hanno scritto un sistema di coda/replica sopra questi collegamenti :-)

Guarda: WikiSkytools

Da una rapida occhiata alla documentazione, Python sembra avere meno documentazione rispetto ai binding Perl, ma suggerirei di rimanere semplicemente con il linguaggio con cui ti senti più a tuo agio.

Altri suggerimenti

In realtà ho utilizzato solo PL/pgSQL, ma era perché avevo bisogno di alcune procedure memorizzate in modo relativamente veloce e non volevo aggiungere moduli extra al server.

A lungo termine, probabilmente utilizzerei PL/Perl o PL/Python, poiché utilizzo Perl per lo scripting rapido e sto guardando Python da un po' di tempo.

Una cosa che ho scoperto è che manca una buona documentazione a riguardo sul sito PostgreSQL.I manuali erano completi come riferimento, ma non funzionavano bene come tutorial per mostrare alle persone come dovrebbe essere fatto.

Ciò, combinato con un ottimo ambiente di debug, ha fatto sì che la mia prima esperienza di scrittura di procedure comportasse l'osservazione a lungo di strani errori di sintassi.

Se qualcuno conosce un buon sito con tutorial ecc. per la programmazione PostgreSQL, mi piacerebbe ricevere un collegamento ad esso.

Scrivo praticamente tutto in plpgsql, ma sono soprattutto un tipo da database, quindi generalmente mi si adatta meglio di qualsiasi altro linguaggio.Ma ci sono molte cose che non fa molto bene, nel qual caso un altro linguaggio come plperl o plpython è una buona scommessa.Naturalmente, se la velocità è una preoccupazione seria, C è la strada da percorrere.

Quando ho scritto il mio primo trigger era in Perl perché quello era il linguaggio utilizzato nell'esempio che ho trovato, ma gli ultimi trigger che ho scritto erano in Python perché mi sento più a mio agio con quello.

Penso che la comodità del programmatore sia la ragione principale per cui scelgo Python, ma penso che Perl sia ancora meglio supportato.

Per qualsiasi cosa veramente piccola/semplice o che non richiede molta manipolazione o logica delle stringhe, utilizzo plpgsql, perché è veloce.Per cose più complesse utilizzo plperl, perché mi piace.

PL/Ruby perché comunque uso Ruby ogni giorno.

Utilizzo PL/pgSQL per quasi tutto e, se c'è qualcosa che non può fare, scrivo funzioni in PL/Python (che è fantastico).Puoi anche utilizzare PL/Java, PL/Perl, PL/PHP.

Direi che Python è probabilmente il migliore in assoluto perché Python è presente su quasi tutti i sistemi Linux.Perl sarebbe secondo, seguito da Python, grazie alla sintassi di lettura più semplice.

Utilizzo PL/Perl perché:

  • Mi piace Perl
  • È un linguaggio dinamico, il che significa che puoi eseguire facilmente alcuni trucchi utili, ad es.passare il nome di una colonna a una funzione trigger ed eseguire alcune azioni con il valore di questa colonna in una tupla trigger.
  • Ha un documentazione abbastanza buona

Direi che Python è probabilmente il migliore in assoluto perché Python è su quasi tutti i sistemi Linux. Python lo batte grazie alla sintassi di lettura più semplice

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top