Question

PostgreSQL est intéressant en ce qu'il prend en charge plusieurs langues pour l'écriture de procédures stockées.Lequel utilisez-vous, et pourquoi?

Était-ce utile?

La solution

Skype utilise PostgreSQL avec python, et ils ont amélioré PL/Python à son état actuel, donc je doute que le support de python est loin derrière perl.Ils ont écrit des files d'attente/système de réplication sur le dessus de ces liaisons, après tout :-)

Prendre un coup d'oeil: Wiki Skytools

À partir d'un rapide coup d'oeil dans la documentation, python semble avoir moins de la documentation que de liaisons perl, mais je dirais simplement s'en tenir avec la langue, vous êtes plus à l'aise avec.

Autres conseils

J'ai seulement utilisé PL/pgSQL, mais c'était parce que j'avais besoin d'un peu de procédures stockées de façon relativement rapide et ne voulait pas ajouter des modules supplémentaires pour le serveur.

À plus long terme, je serais probablement utiliser PL/Perl ou PL/Python, comme je l'ai utiliser perl pour rapide de script et ont été à la recherche sur python pour un certain temps maintenant.

Une chose que j'ai trouvé est qu'il y a un manque de bonne documentation pour que le PostgreSQL site.Les manuels ont été approfondie comme une référence, mais n'a pas bien fonctionné comme un tutoriel pour aider à montrer aux gens comment il devrait être fait.

Qui, combiné avec un très bon environnement de débogage, ma première expérience de l'écriture des procédures de regarder bizarre erreurs de syntaxe pour une longue période de temps.

Si quelqu'un connait un bon site avec des tutoriels etc pour PostgreSQL programmation, j'aimerais obtenir un lien.

J'écris à peu près tout en plpgsql, mais je suis aussi une base de données mec d'abord et avant tout, il est donc généralement me convient mieux que toute autre langue.Mais il y a beaucoup de choses qu'il ne fait pas très bien, dans ce cas une autre langue comme plperl ou plpython est un bon pari.Bien sûr, si la vitesse est un problème grave, C est le chemin à parcourir.

Quand j'ai écrit mon premier déclencheur c'était en Perl parce que c'était la langue utilisée dans l'exemple que j'ai trouvé mais le dernier déclenche que j'ai écrit où en Python parce que je suis plus à l'aise avec.

Je pense que programmeur confort est ma principale raison de choisir python, mais je pense que Perl est encore mieux pris en charge.

Pour quelque chose de vraiment petit/simple ou qui ne nécessite pas beaucoup de manipulation de chaîne ou de la logique, j'utilise plpgsql, parce que c'est rapide.Pour des choses plus complexes, j'utilise plperl, parce que j'aime ça.

PL/Ruby parce que j'utilise Ruby chaque jour de toute façon.

J'utilise PL/pgSQL pour la plupart de tout, et si il y a quelque chose qu'il ne peut pas le faire je écrire des fonctions en PL/Python (qui rochers).Vous pouvez également utiliser PL/Java, PL/Perl, PL/PHP.

Je dirais que Python est probablement le meilleur tout autour de un parce que Python est sur tous les systèmes linux.Perl serait deuxième avec Python battre à cause de la facilité de lecture de la syntaxe.

J'utilise PL/Perl parce que:

  • J'aime Perl
  • C'est un langage dynamique, ce qui signifie que vous pouvez faire des trucs utiles facile, c'est à direle passage d'un nom de colonne à une fonction de déclenchement et de faire quelques actions dont la valeur de cette colonne dans un déclencheur tuple.
  • Il a un assez bonne documentation

Je dirais que Python est probablement le meilleur tout autour de un parce que Python est sur tous les systèmes linux.Python battre à cause de la facilité de lecture de la syntaxe

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top