sql - Quelle langue utilisez-vous pour les déclencheurs PostgreSQL et les procédures stockées?

Translate

PostgreSQL est intéressant en ce qu'il prend en charge plusieurs langages pour écrire des procédures stockées. Lequel utilisez-vous et pourquoi?

This question and all comments follow the "Attribution Required."

Toutes les réponses

Translate

Skype utilisePostgreSQLavec python, et ils ont amélioré PL / Python à son état actuel, donc je doute que le support python soit loin derrière perl. Ils ont écrit un système de mise en file d'attente / réplication en plus de ces liaisons, après tout :-)

Regarde:Wiki Skytools

D'un rapide coup d'œil à la documentation, python semble avoir moins de documentation que les liaisons perl, mais je suggérerais de vous en tenir au langage avec lequel vous êtes le plus à l'aise.

La source
Translate

Je n'ai vraiment utilisé que PL / pgSQL, mais c'était parce que j'avais besoin de quelques procédures stockées relativement rapidement et que je ne voulais pas ajouter de modules supplémentaires au serveur.

À plus long terme, j'utiliserais probablement PL / Perl ou PL / Python, car j'utilise perl pour des scripts rapides et je regarde python depuis un moment maintenant.

Une chose que j'ai trouvée est qu'il y a un manque de bonne documentation pour cela sur le site PostgreSQL. Les manuels étaient complets comme référence, mais ne fonctionnaient pas bien en tant que tutoriel pour aider à montrer aux gens comment procéder.

Cela, combiné à un très bon environnement de débogage, signifiait que ma première expérience d'écriture de procédures impliquait de regarder pendant longtemps des erreurs de syntaxe étranges.

Si quelqu'un connaît un bon site avec des tutoriels, etc. pour la programmation PostgreSQL, j'aimerais avoir un lien vers celui-ci.

La source
Translate

J'écris à peu près tout en plpgsql, mais je suis aussi un spécialiste des bases de données avant tout, donc cela me convient généralement mieux que tout autre langage. Mais il y a beaucoup de choses que cela ne fait pas très bien, auquel cas un autre langage tel que plperl ou plpython est un bon pari. Bien sûr, si la vitesse est un problème sérieux, C est la voie à suivre.

La source
Translate

Quand j'ai écrit mon premier déclencheur, c'était en Perl parce que c'était le langage utilisé dans l'exemple que j'ai trouvé, mais les derniers déclencheurs que j'ai écrits où en Python parce que je suis plus à l'aise avec cela.

Je pense que le confort du programmeur est ma principale raison de choisir python mais je pense que Perl est toujours mieux supporté.

La source
Translate

Pour tout ce qui est vraiment petit / simple ou qui ne nécessite pas beaucoup de manipulation de chaînes ou de logique, j'utilise plpgsql, car il est rapide. Pour les choses plus complexes, j'utilise plperl, parce que j'aime ça.

La source
Translate

PL / Ruby parce que j'utilise de toute façon Ruby tous les jours.

La source
Translate

J'utilise PL / pgSQL pour presque tout, et s'il y a quelque chose qu'il ne peut pas faire, j'écris des fonctions en PL / Python (ce qui est génial). Vous pouvez également utiliser PL / Java, PL / Perl, PL / PHP.

Je dirais que Python est probablement le meilleur tout autour parce que Python est sur à peu près tous les systèmes Linux. Perl serait deuxième avec Python le battant en raison de la syntaxe de lecture plus facile.

La source
Translate

J'utilise PL / Perl parce que:

  • J'aime Perl
  • C'est un langage dynamique, ce qui signifie que vous pouvez faire quelques trucs utiles facilement, c'est-à-dire passer un nom de colonne à une fonction de déclenchement et faire des actions avec la valeur de cette colonne dans un tuple de déclenchement.
  • Il a unassez bonne documentation
La source