{"id":2390,"date":"2012-05-06T23:17:00","date_gmt":"2012-05-06T21:17:00","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/postgresql-une-prsentation\/"},"modified":"2012-05-06T23:17:00","modified_gmt":"2012-05-06T21:17:00","slug":"postgresql-une-prsentation","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/postgresql-une-prsentation\/","title":{"rendered":"PostgreSQL: une pr\u00e9sentation"},"content":{"rendered":"<p>En 2012, les principaux syst\u00e8mes de gestion de bases de donn\u00e9es relationnelles (SGBDR) sur le march\u00e9 sont propri\u00e9taires. Nous parlons r\u00e9guli\u00e8rement d&#8217;Oracle Database, MySQL, Microsoft SQL Server. En dehors de ces solutions commerciales, il existe un SGDBR open-source largement utilis\u00e9: il s&#8217;agit de PostgreSQL et il est l&#8217;objet de cet article.<\/p>\n<h3>Un peu d&#8217;histoire<\/h3>\n<p>PostgreSQL prend son nom en 1996, toutefois son d\u00e9veloppement dure depuis le milieu des ann\u00e9es 80. En effet c&#8217;est une \u00e9quipe de l&#8217;universit\u00e9 de Berkeley conduite par Michael Stonebraker qui commen\u00e7a un projet nomm\u00e9 Postgres, dans la continuation du projet ingres, SGBDR qui \u00e9tait pass\u00e9 dans le monde des bases propri\u00e9taires. Une version de POSTGRES a \u00e9t\u00e9 commercialis\u00e9e sous le nom \u00ab Illustra \u00bb, achet\u00e9e plus tard par Informix.<\/p>\n<p>POSTGRES utilisait son propre langage de requ\u00eates, POSTQUEL. Jug\u00e9 techniquement meilleur que SQL gr\u00e2ce \u00e0 sa richesse d&#8217;expression, en pratique, POSTQUEL ne trouva pas sa place dans le coeur des developpeurs.<\/p>\n<p>En 1994-95 deux th\u00e9sards Andrew Yu et Jolly Chen, de l&#8217;\u00e9quipe du professeur Stonebraker, ont remplac\u00e9 POSTQUEL par SQL,<br \/>\nle projet fut alors renomm\u00e9 Postgres95 et devriendra l&#8217;ann\u00e9e suivante PostgreSQL.<\/p>\n<ul>\n<li>La premi\u00e8re version prendra le numero 6<\/li>\n<li>Les versions 6.1 \u00e0 6.5 apparaitront durant les ann\u00e9es 1997- 1999<\/li>\n<li>Les versions 7.0 \u00e0 7.4 apparaitront durant les ann\u00e9es 2000 &#8211; 2004<\/li>\n<li>Les versions 8.0 \u00e0 8.4 apparaitront durant les ann\u00e9es 2005 &#8211; 2009<\/li>\n<li>Les ann\u00e9es 2010 donnent naissance au version 9.x<\/li>\n<li>La version actuelle est la 9.1.3.<\/li>\n<\/ul>\n<p>Les d\u00e9velopements de PostgreSQL sont g\u00e9r\u00e9s dans une organisation mondiale et structur\u00e9e. Deux groupes se d\u00e9gagent dans cette organisation:<\/p>\n<ul>\n<li>Le Core Team: 6 personnes, ayant la responsabilit\u00e9 des grandes orientations<\/li>\n<li>Les contributeurs: une bonne centaine de personnes qui discutent des \u00e9volutions et maintiennent le code.<\/li>\n<\/ul>\n<h3>Une description<\/h3>\n<p>Je vais parler dans cette description des aspects fonctionnels et de l&#8217;eco-systeme postgreSQL. PostgreSQL est un SGBD relationnel et objet&#8230;<\/p>\n<ul>\n<li>fonctionnant dans une architecture Client\/serveur o\u00f9 chaque connection cr\u00e9e un processus g\u00e9rant les requetes du client,<\/li>\n<li>g\u00e9rant au travers d&#8217;un mecanisme nomm\u00e9e MVCC une bonne isolation des transactions,<\/li>\n<li>fiable et disponible grace \u00e0 la gestion de log (WAL) et de la r\u00e9plication au niveau transactionnel,<\/li>\n<li>apportant un support de la norme SQL 99,<\/li>\n<li>remarquablement extensible au travers des capacit\u00e9s du language de proc\u00e9dure interne et de la souplesse de l&#8217;API.<\/li>\n<\/ul>\n<p>De ce fait PostgreSQL ne se r\u00e9duit pas au seul moteur du SGBDR, c&#8217;est tout un eco-systeme favoris\u00e9 par la capacit\u00e9 d&#8217;extension du moteur. Un site comme pgfoundry vous donnera une bonne id\u00e9e de la dynamique de l&#8217;eco-systeme.<\/p>\n<p>Voici une liste des projets par sujet:<\/p>\n<ul>\n<li>Database Administration (73 projects)<\/li>\n<li>Database Development (67 projects)<\/li>\n<li>Drivers\/Interfaces (22 projects)<\/li>\n<li>Graphical Interfaces (GUI) (18 projects)<\/li>\n<li>Internet (13 projects)<\/li>\n<li>Other\/Non-listed Topic (3 projects)<\/li>\n<li>PostgreSQL Community (5 projects)<\/li>\n<li>PostgreSQL Enhancements (76 projects)<\/li>\n<li>Procedural Languages (12 projects)<\/li>\n<li>Technical Applications (27 projects)<\/li>\n<li>User Applications (30 projects)<\/li>\n<\/ul>\n<p>En plus de sa capacit\u00e9 d&#8217;extension, PostreSQL pr\u00e9sente dans sa branche 9 une solution de r\u00e9plication int\u00e9gr\u00e9e facilement d\u00e9ployable et la mise en oeuvre de solutions innovantes dans la gestion de l&#8217;isolation des transactions.<\/p>\n<p>Je vous proposerai dans les semaines \u00e0 venir une exploration de l&#8217;architecture globale, une pr\u00e9sentation des m\u00e9canismes internes (MVCC, WAL) et plusieurs articles sur les t\u00e2ches d&#8217;administration d&#8217;un serveur PostgreSQL.<\/p>\n<h3>Licences et packaging<\/h3>\n<p>La licence de PostgreSQL est une licence BSD (<a href=\"http:\/\/fr.wikipedia.org\/wiki\/Licence_BSD\">http:\/\/fr.wikipedia.org\/wiki\/Licence_BSD<\/a>). Il n&#8217;y a qu&#8217;une version de PostgreSQL, j&#8217;entends par l\u00e0: pas de d\u00e9clinaison marketing du produit comme c&#8217;est le cas avec MySQL.<\/p>\n<p>Avec PostgreSQL, il n&#8217;y a pas de redevance, sauf \u00e0 choisir une version produite par une soci\u00e9t\u00e8 commerciale maintenant une version particuli\u00e8re de PostgreSQL comme EntrepriseDB par example.<\/p>\n<h3>R\u00e9f\u00e9rences documentaires<\/h3>\n<p><a href=\"http:\/\/docs.postgresql.fr\/\">http:\/\/docs.postgresql.fr\/<\/a><br \/>\n<a href=\"http:\/\/www.dalibo.org\/organisation_du_projet_postgresql\">http:\/\/www.dalibo.org\/organisation_du_projet_postgresql<\/a><br \/>\n<a href=\"http:\/\/pgfoundry.org\/\">http:\/\/pgfoundry.org\/<\/a><br \/>\n<a href=\"http:\/\/www.2ndquadrant.com\/fr\/histoire-postgresql\/\">http:\/\/www.2ndquadrant.com\/fr\/histoire-postgresql\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En 2012, les principaux syst\u00e8mes de gestion de bases de donn\u00e9es relationnelles (SGBDR) sur le march\u00e9 sont propri\u00e9taires. Nous parlons r\u00e9guli\u00e8rement d&#8217;Oracle Database, MySQL, Microsoft SQL Server. En dehors de ces solutions commerciales, il existe un SGDBR open-source largement utilis\u00e9: il s&#8217;agit de PostgreSQL et il est l&#8217;objet de cet article.<\/p>\n","protected":false},"author":28,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[48],"tags":[296,77],"type_dbi":[],"class_list":["post-2390","post","type-post","status-publish","format-standard","hentry","category-technology-survey","tag-introduction","tag-postgresql"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>PostgreSQL: une pr\u00e9sentation - dbi Blog<\/title>\n<meta name=\"description\" content=\"Nous parlons r\u00e9guli\u00e8rement d&#039;Oracle Database, MySQL, Microsoft SQL Server. En dehors de ces solutions commerciales, il existe un SGDBR open-source largement utilis\u00e9: il s&#039;agit de PostgreSQL et il est l&#039;objet de cet article.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/postgresql-une-prsentation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL: une pr\u00e9sentation\" \/>\n<meta property=\"og:description\" content=\"Nous parlons r\u00e9guli\u00e8rement d&#039;Oracle Database, MySQL, Microsoft SQL Server. En dehors de ces solutions commerciales, il existe un SGDBR open-source largement utilis\u00e9: il s&#039;agit de PostgreSQL et il est l&#039;objet de cet article.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/postgresql-une-prsentation\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2012-05-06T21:17:00+00:00\" \/>\n<meta name=\"author\" content=\"Open source Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Open source Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-une-prsentation\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-une-prsentation\\\/\"},\"author\":{\"name\":\"Open source Team\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/59554f0d99383431eb6ed427e338952b\"},\"headline\":\"PostgreSQL: une pr\u00e9sentation\",\"datePublished\":\"2012-05-06T21:17:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-une-prsentation\\\/\"},\"wordCount\":659,\"commentCount\":0,\"keywords\":[\"Introduction\",\"PostgreSQL\"],\"articleSection\":[\"Technology Survey\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-une-prsentation\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-une-prsentation\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-une-prsentation\\\/\",\"name\":\"PostgreSQL: une pr\u00e9sentation - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2012-05-06T21:17:00+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/59554f0d99383431eb6ed427e338952b\"},\"description\":\"Nous parlons r\u00e9guli\u00e8rement d'Oracle Database, MySQL, Microsoft SQL Server. En dehors de ces solutions commerciales, il existe un SGDBR open-source largement utilis\u00e9: il s'agit de PostgreSQL et il est l'objet de cet article.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-une-prsentation\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-une-prsentation\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-une-prsentation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL: une pr\u00e9sentation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/59554f0d99383431eb6ed427e338952b\",\"name\":\"Open source Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g\",\"caption\":\"Open source Team\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/open-source-team\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PostgreSQL: une pr\u00e9sentation - dbi Blog","description":"Nous parlons r\u00e9guli\u00e8rement d'Oracle Database, MySQL, Microsoft SQL Server. En dehors de ces solutions commerciales, il existe un SGDBR open-source largement utilis\u00e9: il s'agit de PostgreSQL et il est l'objet de cet article.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/postgresql-une-prsentation\/","og_locale":"en_US","og_type":"article","og_title":"PostgreSQL: une pr\u00e9sentation","og_description":"Nous parlons r\u00e9guli\u00e8rement d'Oracle Database, MySQL, Microsoft SQL Server. En dehors de ces solutions commerciales, il existe un SGDBR open-source largement utilis\u00e9: il s'agit de PostgreSQL et il est l'objet de cet article.","og_url":"https:\/\/www.dbi-services.com\/blog\/postgresql-une-prsentation\/","og_site_name":"dbi Blog","article_published_time":"2012-05-06T21:17:00+00:00","author":"Open source Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Open source Team","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-une-prsentation\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-une-prsentation\/"},"author":{"name":"Open source Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/59554f0d99383431eb6ed427e338952b"},"headline":"PostgreSQL: une pr\u00e9sentation","datePublished":"2012-05-06T21:17:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-une-prsentation\/"},"wordCount":659,"commentCount":0,"keywords":["Introduction","PostgreSQL"],"articleSection":["Technology Survey"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/postgresql-une-prsentation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-une-prsentation\/","url":"https:\/\/www.dbi-services.com\/blog\/postgresql-une-prsentation\/","name":"PostgreSQL: une pr\u00e9sentation - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2012-05-06T21:17:00+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/59554f0d99383431eb6ed427e338952b"},"description":"Nous parlons r\u00e9guli\u00e8rement d'Oracle Database, MySQL, Microsoft SQL Server. En dehors de ces solutions commerciales, il existe un SGDBR open-source largement utilis\u00e9: il s'agit de PostgreSQL et il est l'objet de cet article.","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-une-prsentation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/postgresql-une-prsentation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-une-prsentation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL: une pr\u00e9sentation"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/59554f0d99383431eb6ed427e338952b","name":"Open source Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g","caption":"Open source Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/open-source-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/2390","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=2390"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/2390\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=2390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=2390"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=2390"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=2390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}