Concernant les performances, cette nouvelle version perpétue la montée en puissance de la branche 8 avec un lot de nouvelles fonctionnalités très intéressantes :
- La technologie HOT (Heap Only Tuples) ;
- L'auto-optimisation du processus d'écriture en tâche de fond ;
- La validation asynchrone ;
- L'étalement des points de vérification ;
- Les parcours synchronisés ;
- La réduction des en-têtes varlena ;
- La protection du parcours du cache L2 ;
- L'assignation paresseuse des XID.
- La journalisation applicative au format CSV ;
- SQL/XML ;
- Le support de MS Visual C++ ;
- La gestion des ENUM ;
- La recherche textuelle intégrée ;
- SSPI & GSSAPI ;
- Les tableaux de types composés ;
- pg_standby.
- Sources
- Installeur windows
- Paquets Fedora, Red Hat, Solaris (notez que PostgreSQL 8.3 est déjà disponible dans le dépôt unstable de Debian)
Aller plus loin
- PostgreSQL (0 clic)
- Dossier de presse (0 clic)
- Matrice des fonctionnalités (4 clics)
- Annonce officielle (1 clic)
- Notes de versions (1 clic)
- Association PostgreSQLFR (1 clic)
# Mysql c'est mieux
Posté par totof2000 . Évalué à -10.
[^] # Re: Mysql c'est mieux
Posté par totof2000 . Évalué à -8.
[^] # Re: Mysql c'est mieux
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à -10.
[^] # Re: Mysql c'est mieux
Posté par fredix . Évalué à 9.
En effet.
[^] # Re: Mysql c'est mieux
Posté par totof2000 . Évalué à -7.
[^] # Re: Mysql c'est mieux
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à -1.
[^] # Re: Mysql c'est mieux
Posté par chl (site web personnel) . Évalué à -2.
[^] # Re: Mysql c'est mieux
Posté par Nicolas Évrard (site web personnel, Mastodon) . Évalué à -4.
Tro LoL ... Mwa JkIf lé rino mé ske jlov le + ces les minous.
Tro gnon
[/humour]
[^] # Re: Mysql c'est mieux
Posté par Vador Dark (site web personnel) . Évalué à 2.
[^] # Re: Mysql c'est mieux
Posté par ioguix . Évalué à 10.
Si tu veux parler d'un meilleur support professionnel pour MySQL, sache que Sun intègre PostgreSQL par défaut dans Solaris10 et le supporte auprès de ses clients utilisateurs.
Note aussi qu'ils ont employé un des core développeur de PgSQL depuis à peu près 2 ans...
[^] # Re: Mysql c'est mieux
Posté par EchoPapaMike . Évalué à 2.
Il faudrait que certain todo de postgresql soit fait . ( mais ce n'est pas facile )
Extrait du todo de postgresql ( http://www.postgresql.org/docs/faqs.TODO.html )
Point-In-Time Recovery (PITR)
* Allow a warm standby system to also allow read-only statements [pitr]
This is useful for checking PITR recovery. http://archives.postgresql.org/pgsql-hackers/2007-03/msg00050.php
[^] # Re: Mysql c'est mieux
Posté par Jerome Alet (site web personnel) . Évalué à 3.
[^] # Re: Mysql c'est mieux
Posté par Gniarf . Évalué à 4.
[^] # Re: Mysql c'est mieux
Posté par Axel R. (site web personnel) . Évalué à 7.
Nous utilisons des bases MySQL et des bases Postgres, chacune pour des projets différents et des fonctionnalités différentes des bases. (MySQL par exemple ne gère pas l'héritage de table)
Axel
[^] # Re: Mysql c'est mieux
Posté par Ontologia (site web personnel) . Évalué à 2.
Sinon, pour faire select nom from client where id = 34, là mysql est souvent plus indiqué.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# postgresql c'est mieux
Posté par totof2000 . Évalué à 2.
Mettre dans ce fil les raisons pour lesquelles vous pensez que postgresql est mieux.
[^] # Re: postgresql c'est mieux
Posté par ioguix . Évalué à 10.
3/ Libre
2/ Pérennité et intégrité des données
4/ Richesse fonctionnelle
5/ Trés extensible
6/ Communauté
...
[^] # Re: postgresql c'est mieux
Posté par Pierre Jarillon (site web personnel) . Évalué à 5.
8/ Procédures et fonctions stockées.
...
[^] # Re: postgresql c'est mieux
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 5.
[^] # Re: postgresql c'est mieux
Posté par Axel R. (site web personnel) . Évalué à 5.
Quand on a fait un choix de DB, qu'on a développé des applis dessus avec des procédures stockées, on va pas changé dès que la concurrence se met "à niveau"...
Et au niveau de ces procédures stockées, je ne crois pas que MySQL gère autant/les mêmes langages que PG.
Axel
[^] # Re: postgresql c'est mieux
Posté par Guillaume Smet (site web personnel) . Évalué à 10.
C'est très très différent parce que certaines autres fonctionnalités de MySQL excluent le choix de ces moteurs et ne permettent donc pas d'avoir les contraintes d'intégrité.
Dans le cas des contraintes d'intégrité de type foreign keys, ça te restreint à InnoDB et donc :
- tu n'as plus les count(*) instantanés magiques à la MyISAM,
- tu ne peux pas faire de multi-master,
- probablement d'autres trucs.
Bref, tu peux effectivement avoir des contraintes d'intégrité en utilisant certains moteurs mais ça te coupe de fonctionnalités proposées par d'autres. Le jour où cela sera supporté par tous les moteurs et ne sera pas discriminant, ce sera effectivement présent dans MySQL.
Ce serait intéressant d'avoir une matrice des fonctionnalités présentes dans chaque moteur pour bien voir le OU et pas une liste de fonctionnalités globales qui masque la réalité en faisant un ET.
[^] # Re: postgresql c'est mieux
Posté par Étienne . Évalué à 10.
http://dev.mysql.com/doc/refman/5.1/en/storage-engine-choosi(...)
[^] # Re: postgresql c'est mieux
Posté par Guillaume Smet (site web personnel) . Évalué à 3.
[^] # Re: postgresql c'est mieux
Posté par peau chat . Évalué à 10.
On se rend compte que si avec MySql on veut pouvoir utiliser les transactions, il est impossible de faire de la recherche Full Text.
Si on veut pouvoir utiliser les index HASH, on ne peut pas utiliser les FOREIGN KEY...
Enfin bref, ça fait vraiment pas sérieux comme base transactionnelle. On sent bien que c'est une base de données qui est faite plus pour les site web, et non pas pour les mises à jour massives...
Dans PostgreSQL ça fait belle lurette qu'il y a les transactions, les triggers, les contraintes diverses dont les clefs étrangères, les index B-tree, Hash, GiST et GIN, le FullText search, les triggers, procédures stockées etc.
[^] # Re: postgresql c'est mieux (pas toujours)
Posté par Zenitram (site web personnel) . Évalué à 2.
Alors bon, OK PostGreSQL c'est génial, ca fait plein de chose.
Mais c'est pas la peine de sous-entendre que MySQL est de la merde.
Il n'a pas les même priorités, c'est tout.
[^] # Re: postgresql c'est mieux (pas toujours)
Posté par windu.2b . Évalué à 2.
si quelqu'un a des liens, des infos, des explications concernant cet avantage de MySQL sur les autres, ma curiosité lui en sera gré :-)
[^] # Re: postgresql c'est mieux (pas toujours)
Posté par Zenitram (site web personnel) . Évalué à 1.
Pour la raison, je me doute que c'est justement parce que MySQL fait l'impasse sur certains calculs d'integrité (ou autre, je ne suis pas assez expert) consommatrices de CPU
[^] # Re: postgresql c'est mieux
Posté par ioguix . Évalué à 7.
For other storage engines, MySQL Server parses and ignores the FOREIGN KEY and REFERENCES syntax in CREATE TABLE statements. The CHECK clause is parsed but ignored by all storage engines. See Section 1.8.5.4, “Foreign Keys”.
(cf. http://dev.mysql.com/doc/refman/5.1/en/create-table.html)
Non seulement MySQL laisse passer des choses sans les faires, mais ne supporte pas non plus la clause CHECK.
Donc bon...support des contraintes hein...
PostgreSQL lui, en plus de bien entendu supporter CHECK, remet le couvert en proposant les domaines et la céation de type personnalisé qui peuvent encore enfoncer le clou de l'intégrité...
Bon, allé, je sais que la plupart d'entre vous ont déjà vu passé ce document ici, mais je le recolle tout de même : "Pourquoi préférer PostgreSQL à MySQL : comparatif de fiabilité et de rapidité en 2007" http://www.postgresqlfr.org/?q=node/1432
[^] # Re: postgresql c'est mieux
Posté par peau chat . Évalué à 4.
[^] # Re: postgresql c'est mieux
Posté par Jean Meyrand . Évalué à 10.
parce qu'il vise avant tout la stabilité, la fiabilité et la cohérence des données.
parce que ses performances sont nickel.
parce qu'un éléphant ça sait compter, et on peut compter sur lui.
parce que les mailing lists.
parce que Tom Lane.
parce que MySQL et PostgreSQL n'ont en commun que le fait d'être des logiciels libres, mais qu'ils ne jouent pas dans la même catégorie.
parce que à l'opposé de MySQL qui est un logiciel libre, PostgreSQL est un projet libre.
parce que pas un plantage et pas une seule perte de données en 3 ans.
[^] # Re: postgresql c'est mieux
Posté par IsNotGood . Évalué à 10.
Parce que PostgreSQL est simple. Avec MySQL on peut s'arracher les cheveux pour des conneries (les dates sont un bon exemple). Avec MySQL on peut pisser des lignes de code pour compenser ses faiblesses.
Parce que la documentation est superbe.
Parce que les outils d'administrations sont parfaits.
[^] # Re: postgresql c'est mieux
Posté par IsNotGood . Évalué à 8.
Pour l'anectode, et confirmer que les outils d'administration de PostgreSQL sont très sérieux, j'avais une base de données sous PostgreSQL 7.2. Base de données qui avait des fonctions embarqués, des rules, triggers et "large object". Je suis passé à PostgreSQL 8.2 les doigts dans le nez (je veux bien reconnaitre que j'ai eu un peu chance). Récupération des dumps de l'ancien base (fait tout les jours via un cron), création des comptes utilisateurs, et envois des dumps dans le nouveau server PostgreSQL (pas si nouveau car en "production" depuis un moment). Pg_dump/pg_restore a géré tout ce qui est compatibilité. Tout marche nickel comme avant.
[^] # Re: postgresql c'est mieux
Posté par Jerome Alet (site web personnel) . Évalué à 6.
Ah, j'ai mieux, 8 ans.
[^] # Re: postgresql c'est mieux
Posté par Larry Cow . Évalué à 7.
[^] # Re: postgresql c'est mieux
Posté par GeneralZod . Évalué à 10.
[^] # Re: postgresql c'est mieux
Posté par Okki (site web personnel, Mastodon) . Évalué à 5.
[^] # Re: postgresql c'est mieux
Posté par timid . Évalué à 4.
mais dans le cas de sites suffisamment professionnels et à très forte charge tel que Wikipédia, pourquoi ont ils fait le choix de MySQL ?
Dans le cas de wikipedia, peut être surtout pour des raisons historiques ...
http://nostalgia.wikipedia.org/wiki/Wikipedia_PHP_script
[^] # Re: postgresql c'est mieux
Posté par Vincent P (site web personnel) . Évalué à 4.
On peut citer l'IGN et plus de 20To de données dans PostGIS pour le geoportail.
On peut aussi reciter pgAdmin III qui est vraiment un plaisir à utiliser.
[^] # Re: postgresql c'est mieux
Posté par Larry Cow . Évalué à 3.
Mais effectivement, le choix c'est Bien (tm). Et PostGIS aussi ;)
[^] # Re: postgresql c'est mieux
Posté par ioguix . Évalué à 6.
Nous sommes pour le moment en beta1, le projet avance, malgrès une équipe de développement pas trés étoffée et plutôt surchargée par ses a-cotés.
Bref, tirez la version CVS de PPA, et testez là !!
Pour ce faire:
$ cvs -d:pserver:anonymous@phppgadmin.cvs.sourceforge.net:/cvsroot/phppgadmin login
$ cvs -z3 -d:pserver:anonymous@phppgadmin.cvs.sourceforge.net:/cvsroot/phppgadmin co -P webdb -d phpPgAdmin
Contributeurs bien venu, rdv sur les ml et sur freenode #phppgadmin
[^] # Re: postgresql c'est mieux
Posté par Guillaume Fortin . Évalué à 1.
quelqu'un aurait une expérience de Toad sur pgsql ?
[^] # Re: postgresql c'est mieux
Posté par LupusMic (site web personnel, Mastodon) . Évalué à -2.
[^] # Re: postgresql c'est mieux
Posté par peau chat . Évalué à 4.
Parce que pgSQL gère la concurrence d'accès différemment.
# Perfs !
Posté par EppO (site web personnel) . Évalué à 8.
la 8.2 marquait déjà le progrès au niveau perfs brutes assez impressionant, maintenant avec le support des ENUM (fonctionnalité tellement attendu par les "switchers mysql"), la recherche full text TSearch (encore ces switchers !), et les HOT, postgres s'impose comme un véritable concurrent de poids face à d'autres SGBD proprio (non pas qu'il ne l'était pas avant mais il s'affirme de plus en plus).
# Yo
Posté par kafé . Évalué à 3.
J'en profite pour demander si quelqu'un à une experience Samba / postrgre pour un domaine doz à la place de Samba / LDAP. Ca semble interessant mais mal documenté...
Kaf.
[^] # Ploup
Posté par ioguix . Évalué à 1.
Merci mon grand kak^WCoco :)
> J'en profite pour demander si quelqu'un à une experience Samba / postrgre
> pour un domaine doz à la place de Samba / LDAP. Ca semble interessant
> mais mal documenté...
Oui, malheureusement...Samba a abandonné les backend db et un projet à emergé pour "maintenir" la chose : http://pdbsql.sourceforge.net/
Mais effectivement la doc et les exemples y sont trés pauvre et pas à jour...
Il reste toujours un Samba / LDAP / PgSQL qui lui semble un peu mieux documenté :)
[^] # Re: Yo
Posté par Stéphane Davy . Évalué à 1.
[^] # Re: Yo
Posté par ioguix . Évalué à 1.
Bon, sinon, à part ça, oui LDAP est utile pour mutualiser des choses et des services comme l'authentification, mais parfois, adns ce dernier cas, PAM peut trés bien suffir aussi pour faire la colle avec une simple base.
De plus, LDAP reposant sur une base de donnée, pourquoi se priver de virer ce protocol supplémentaire si le SI en question le permet ? Et justement ce pourrait être le cas de Kaf si le module pdbsql était un peu mieux supporté/documenté...
Mais il faut croire que la norme est à Samba/LDAP depuis les fameux scripts smbldap et pour se rapprocher au mieux d'Active Directory je suppose...
[^] # Re: Yo
Posté par briaeros007 . Évalué à 1.
Je ne dis pas que postgresql ne peut pas convenir, je dis que la philosophie derrière est légèrement différente.
Ensuite LDAP est très souvent utilisé pour l'authentification en entreprise, ce qui peut expliquer son couplement avec samba.
Question conne :
Il est très facile de faire des attributs multivalués avec du LDAP. (par exemple : liste des alias de messagerie d'un user).
Sous postgres, on est obligé de prendre
- des tableaux ? (c'est sql ou postgres only les tableaux dans postgres ?)
- de faire une jointure ?
Ou il y a une autre méthode ?
[^] # Re: Yo
Posté par Larry Cow . Évalué à 4.
Parce que nombre d'applicatifs causent nativement le LDAP et beaucoup moins causent nativement "ton" schéma de stockage des utilisateurs sur PG?
[^] # Re: Yo
Posté par ioguix . Évalué à 1.
Et puis pas mal d'applications ont des extensions permettant d'authentifier sur une base SQL, nativement en pgsql ou via ODBC par exemple.
Maintenant, si vous voulez coller du LDAP à tous les étages même dans une entreprise n'en ayant pas le besoin hein...Perso LDAP ne me sort pas encore totalement par la tête...Mais allez en parler à Kaf :)
[^] # Re: Yo
Posté par Larry Cow . Évalué à 1.
C'est vrai, mais ta précondition avait vraiment des allures de poudre verte... ("citez moi une raison pour ne pas remplacer LDAP par PG, dès lors qu'il n'y a aucune raison pour garder LDAP", en substance).
Pour la standardisation (de fait) des accès DB en lieu et place de LDAP, c'est vrai que ça commence à venir, mais le moins qu'on puisse est que c'est tout sauf unifié. Pire que LDAP, c'est dire :>
[^] # Re: Yo
Posté par Stéphane Davy . Évalué à 1.
Le "pas mal" est quand même assez vague, et en plus on dépend de la base de donnée. Le gros avantage de LDAP reste quand même son haut niveau d'interropérabilité. J'ai eu pas mal de projets à gérer avec du LDAP (web, messagerie, authent OS,...) et franchement, pour rien au monde je n'aurai mis une base de donnée SQL avec. Avec LDAP, j'ai des schemas standardisés donc pas la peine de se triturer l'esprit pour les attributs. Pour ce qui de se rapprocher d'AD, je rappelle quand même que les authent sur LDAP sont arrivées sur les Unix bien avant AD.
Et je ne parle même pas des perfs....
[^] # Re: Yo
Posté par totof2000 . Évalué à 1.
[^] # Re: Yo
Posté par ioguix . Évalué à 1.
Ceci dit merci à vous pour vos info diverses (histoire de lecture plus efficace et param multi-valeurs), j'ai été me documenter un peu plus là dessus et me suis rendu compte d'une chose qui m'avait *bien* échappée (chkreugneugneu) jusqu'ici : Berckley DB n'est pas une base de données au même sens que les bases SQL bien connues...
..Et là, beaucoup de choses s'expliques du coup :)
[^] # Re: Yo
Posté par totof2000 . Évalué à 2.
Tu réagis mal ....
[^] # Re: Yo
Posté par Arnaud Jayet . Évalué à 5.
moi non plus je n'aime pas trop LDAP et LDAP j'en reviens franchement. Je bosse dans une université où on a mis en place un annuaire openLDAP pour la gestion des comptes utilisateurs , auth sur un portail web pour accès intranet ( SSO via CAS) et plus spécifiquement la messagerie dont je m'occupe
notre SI est basé sur du MySQL (je rentre pas dans le débat MySQL vs Postgres, je reconnais des qualités indéniables à Postgres, mais on a choisi MySQL et on en est très content) et un annuaire LDAP "norme SUPANN" pour ceux qui connaissent (avec 20000 étudiants et 1500 personnels derrière)
j'ai eu bien des déboires avec OpenLDAP (sous woody puis sarge), avec des démons slapd qui se cassait la gueule sans raison apparente, ou qui grossissaient grossissaient.
Encore très récemment une mauvaise expérience : coupure electrique, le serveur MySQL repars sans problème, le serveur LDAP (sur la meme machine) : HS et faut y aller à coup de db_recover en virant les logs (et en priant) sinon ça plante tjs
on parle de performances ? quand je vois la misère (temps de traitement) pour faire des modifications de données online (à chaud) par traitement par lot par rapport à MySQL, même pas la peine... On en est à un point où on supprime et regénère en offline chaque nuit l'annuaire LDAP à partir des bases MySQL, mais de plus en plus notre backend principal devient la base MySQL et non plus l'annuaire LDAP car la confiance dans sa stabilité n'y est plus
je vous parle pas non plus du côté penible de la syntaxe en ligne de commande pour faire la moindre modification, suppression avec des dn long comme mon bras. avec une GUI, Vous connaissez surement phpldapadmin, et ben j'essaie meme plus de m'en servir, dès que je clique sur la branche 'people', le sablier tourne, tourne, tourne et tourne encore,
Non franchement je suis vacciné de LDAP , j'ai pourtant persévéré mais je suis vacciné et désormais je m'appuie sur un backend MySQL quand je peux
auth CAS + MySQL pour le web
postfix + courier-imap avec auth MySQL
proftpd + MySQL
me reste un radius relié au LDAP à transformer en radius + MySQL
Effectivement reste plus que Samba qui reste assez lié à LDAP pour de l'auth centralisé mais je me dit qu'avec pam_mysql ou pam_pgsql
si qqu'un a déjà mis en place ce genre de choses, samba+pam+bdd (postgres ou mysql) j'suis preneur de liens
C'est peut-etre l'avantage de MySQL sur Postgres : une plus grande facilité de connectivité possible (avec souvent des paquets *-mysql sous Debian) avec les outils qui nécessite de l'authentification utilisateurs (postfix, courier, radius, serveurs ftp etc etc)
voilà pour mon expérience
a+
[^] # Re: Yo
Posté par totof2000 . Évalué à 1.
# 8.4
Posté par patrick_g (site web personnel) . Évalué à 8.
A priori le modèle de développement va changer pour éviter à l'avenir les retards dont à souffert la 8.3.
Le modèle choisi est celui des périodes de merge (les "commit fest") suivis de périodes de stabilisation/correction.
# PostgreSQL oui mais pas tout de suite
Posté par rewind (Mastodon) . Évalué à 5.
Seulement voilà, si on veut l'utiliser avec le driver JDBC [1], ben il manque des choses dont j'aimerais bien me servir. Et on voit sur la TODO liste [2] qu'il manque des trucs comme Statement.getGeneratedKeys qui est fort pratique. Ça donne l'impression que ce n'est pas encore tout à fait abouti. C'est dommage parce que je troquerais bien mon MySQL contre un PostgreSQL. J'ai lu les différents fils de discussion concernant cette fonctionnalité et je ne comprend pas bien les problèmes, pour moi il faut que cette fonction retourne la ou les clefs qui ont été générées par un INSERT, pas plus ni moins. Il n'y a peut-être pas le support dans PostgreSQL pour le faire mais ça serait vraiment une superbe fonctionnalité à ajouter.
[1] http://jdbc.postgresql.org/
[2] http://jdbc.postgresql.org/todo.html
[^] # Re: PostgreSQL oui mais pas tout de suite
Posté par peau chat . Évalué à 5.
Parce que bon, je ne suis pas sur qu'il y ait une api FORTRAN non plus.
Le truc "pas encore tout à fait abouti" comme tu dis, c'est le driver JDBC en lui-même, pgSQL n'a aucun problème.
Et puis bon, utiliser ce genre de fonctionnalités JDBC, c'est un peu du gâchis avec pgSQL. La solution plus élégante (et surtout plus performante) c'est de faire effectuer le traitement que tu veux par une procédure stockée. Et si tu as besoin de récupérer des IDs, c'est ta procédure stockée qui les retourne.
Le problème de cette nouvelle mode consistant à avoir plein de petits bouts de SQL éparpillés, ventilés, dans du code Java (ou PHP ou n'importe quoi d'autre), c'est d'abord que les performances sont dégueulasses, et ensuite qu'au niveau maintenance ça devient un vrai casse tête.
Si on modifie un nom de table ou un type de colonne, il faut se cogner tous le code JAVA pour essayer de voir où se trouvent les adhérences.
Alors que quand tu fais tes traitements par procédure stockée, tu as tous les traitements sous les yeux mutalisés au niveau du serveur, et si tu rejoues les scripts de création de procédure, tu vois celles qui partent en erreur...
C'est marrant à dire, mais avec cette nouvelle mode de J2E, Struts & co. je vois les gens refaire les mêmes erreurs qu'il y a 15 ans aux débuts du client/serveur avec les premiers NSDK ou PowerBuilder.
[^] # Re: PostgreSQL oui mais pas tout de suite
Posté par PLuG . Évalué à 3.
Enfin techniquement, mettre les fonctions applicatives dans les bases de données fini par bouffer de la performance sur la DB et les licenses (ok sur les DB commerciales ...) se paient au nombre de cores utilisés sur le serveur de DB...
J'ajoute que pour le stockage, multiplier les serveurs de DB coute aussi pas mal de fric.
Donc que faire ?
Utiliser la fameuse mode du n-tiers, et mettre un front-end java sur un serveur applicatif pour heberger le code applicatif sous forme de fonctions, publiée en SOAP par exemple.
Ces fonctions SOAP concentrent les appels aux DB (donc y'en a pas partout dans toutes les applis), le SOAP c'est gratuit (java + tomcat / jboss), et cela permet (comme les proc stockées) de rendre les fonctions disponibles pour toutes les applis de l'entreprise.
En bonus, SOAP est un protocole normalisé et disponible sur toutes les plateformes, dans tous les langages (pas la peine de déployer des connecteurs JDBC/ODBC/....)
Mais je suis d'accord avec toi, les proc stockées c'est bien, y'a juste des contrainte en entreprise qui font que d'autres solutions peuvent être préférées.
[^] # Re: PostgreSQL oui mais pas tout de suite
Posté par rewind (Mastodon) . Évalué à 4.
Tout d'abord, comme dit PLuG, je suis dans un cas totalement similaire, sauf que s/SOAP/XML-RPC/ mais après, c'est la même chose.
Moi je ne suis pas un expert SQL, je veux juste faire des trucs ultra-simple, comme le permet JDBC. Après, je fais ma sauce du côté du Java. Et j'aimerais que mon code marche bien avec toutes les DB imaginables, en particuleir PostgreSQL. Alors ça revient un peu à dire qu'il faut se contenter du plus grand commun dénominateur entre toutes les bases (donc prendre les fonctionnalités de MySQL) mais bon, je ne veux pas utiliser JDBC qui permet d'abstraire la DB et ensuite faire du code SQL spécifique à une DB.
Ensuite, je suis d'accord, c'est pas forcément un problème au niveau PostgreSQL (et même je pense que le problème ne vient pas de là), mais il n'empêche que de nos jours, on utilise rarement une DB directement mais à partir d'API dans ce genre (il y a aussi PDO pour PHP, DBI pour Perl, etc) et qu'il faut également soigner l'implémentation de ces API, ça compte aussi dans l'adoption (c'était l'objet de mon premier post).
[^] # Re: PostgreSQL oui mais pas tout de suite
Posté par Sébastien Koechlin . Évalué à 2.
Les bonnes pratiques de Java consistent à créer des DAO (Data Access Object), qui font partis des recommandations J2EE depuis des lustres http://java.sun.com/blueprints/corej2eepatterns/Patterns/Dat(...) et les frameworks actuels dédiés aux bases comme Hibernate permettent même de rassembler toutes les requêtes dans quelques fichiers XML dédiés aux bases de données.
Donc non, actuellement la mode J2EE struts & co, les requêtes SQL ne doivent pas être éparpillés dans tout le code.
Pour PHP, par contre, les bonnes pratiques semblent effectivement lointaines, quand on n'a pas le SQL mélangé avec le HTML, on a de la chance. La lecture du code source de dotclear m'a redonné quelques espoirs.
[^] # Re: PostgreSQL oui mais pas tout de suite
Posté par arthurr (site web personnel) . Évalué à 2.
Mais il existe une fonctionnalite Postgresql :
INSERT INTO ... RETERNING ...
SI ton driver te permet de faire des fetch (ce que je suppose), ca doit fonctionner !
le lien vers la doc :
http://docs.postgresqlfr.org/8.3/sql-insert.html
[^] # Re: PostgreSQL oui mais pas tout de suite
Posté par benja . Évalué à 3.
Cf. la doc, c'est une extension (apparut dans la 8.2 je crois) qui n'est pas recommandée. La méthode plébiscitée consite à faire un 'select nextval(seq)/curval(seq)' où seq est le nom de la séquence utilisée (p.e. nomtable_champ_seq dans le cas d'une déclaration 'serial').
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.