{"id":144010,"date":"2025-09-25T17:11:55","date_gmt":"2025-09-25T15:11:55","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-subd-postgresql-18"},"modified":"2025-09-25T17:11:55","modified_gmt":"2025-09-25T15:11:55","slug":"reliz-subd-postgresql-18","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-subd-postgresql-18","title":{"rendered":"Sortie de la base de donn\u00e9es PostgreSQL 18","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Apr\u00e8s un an de d\u00e9veloppement, une nouvelle version stable de la base de donn\u00e9es PostgreSQL 18 a \u00e9t\u00e9 publi\u00e9e. Des mises \u00e0 jour pour la nouvelle version seront disponibles pendant cinq ans jusqu'en novembre 2030. Le support de PostgreSQL 13.x, la plus ancienne des versions support\u00e9es, prendra fin le 13 novembre.     <\/p>\n<p>Les principales nouveaut\u00e9s :  <\/p>\n<ul>\n<li class=\"l\"> Un sous-syst\u00e8me d'entr\u00e9e\/sortie asynchrone a \u00e9t\u00e9 ajout\u00e9, permettant d'augmenter la bande passante d'entr\u00e9e\/sortie et d'\u00e9liminer les d\u00e9lais. En plus d'une impl\u00e9mentation universelle AIO (io_method=worker) disponible sur toutes les plateformes, bas\u00e9e sur l'ex\u00e9cution de plusieurs processus de traitement (par d\u00e9faut 3), l'interface d'entr\u00e9e\/sortie asynchrone io_uring (io_method=io_uring), prise en charge \u00e0 partir du noyau Linux 5.1, peut \u00eatre utilis\u00e9e sous Linux. L'entr\u00e9e\/sortie asynchrone est actuellement employ\u00e9e uniquement pour acc\u00e9l\u00e9rer certaines op\u00e9rations li\u00e9es \u00e0 la lecture de donn\u00e9es \u00e0 partir du syst\u00e8me de fichiers, telles que la travers\u00e9e s\u00e9quentielle, le balayage de la carte d'index et l'ex\u00e9cution du nettoyage (vacuum). Dans certains tests, l'utilisation de l'AIO a entra\u00een\u00e9 une augmentation des performances de 2 \u00e0 3 fois. Les op\u00e9rations d'\u00e9criture continuent d'\u00eatre effectu\u00e9es en mode synchrone pour respecter les exigences ACID.\n<li class=\"l\"> Une optimisation &#171;skip scan&#187; a \u00e9t\u00e9 mise en \u0153uvre dans les index multicolonnes, permettant \u00e0 l'index d'\u00eatre utilis\u00e9 non seulement pour v\u00e9rifier la premi\u00e8re colonne index\u00e9e et la liaison compl\u00e8te des colonnes, mais aussi pour traiter s\u00e9par\u00e9ment les autres colonnes index\u00e9es. Par exemple, auparavant, lors de la cr\u00e9ation d'un index B-tree sur les colonnes &#171;(status, date)&#187;, l'index \u00e9tait appliqu\u00e9 uniquement aux requ\u00eates v\u00e9rifiant le champ &#171;status&#187; ou les deux champs &#171;status&#187; et &#171;date&#187;, tandis que pour une requ\u00eate ne v\u00e9rifiant que le champ &#171;date&#187;, un scan du contenu de la table \u00e9tait n\u00e9cessaire. Le mode &#171;skip scan&#187; permet, dans certaines situations, de scanner l'index lors d'une requ\u00eate portant uniquement sur le champ &#171;date&#187;. Ce mode est appliqu\u00e9 uniquement pour les index &#171;B-tree&#187; en utilisant dans la requ\u00eate l'op\u00e9rateur conditionnel &#171;=&#187; sur le champ index\u00e9, dans des situations o\u00f9 le champ omis a peu de valeurs diff\u00e9rentes (par exemple, l'optimisation fonctionnera si le champ status &#171;status&#187; a quelques valeurs fixes).\n<li class=\"l\"> Des optimisations ont \u00e9t\u00e9 ajout\u00e9es pour utiliser les index de mani\u00e8re plus efficace pour les requ\u00eates contenant des constructions &#171;OR&#187; et &#171;IN (&#8230;)&#187; dans la clause &#171;WHERE&#187;, ainsi que pour am\u00e9liorer la performance de la planification et de l'ex\u00e9cution des jointures de tables (par exemple, le code de fusion des hash a \u00e9t\u00e9 acc\u00e9l\u00e9r\u00e9 et il est d\u00e9sormais possible d'utiliser un tri incr\u00e9mental lors de la fusion des tables).\n<li class=\"l\"> Ajout du support pour le parall\u00e9lisme de la construction des index GIN (Index Invers\u00e9 G\u00e9n\u00e9ralis\u00e9), utilis\u00e9 pour l'indexation de valeurs composites telles que des tableaux, et pour l'organisation de la recherche sur des donn\u00e9es en texte int\u00e9gral ou des structures JSON.\n<li class=\"l\"> La possibilit\u00e9 de cr\u00e9er des vues mat\u00e9rialis\u00e9es et des cl\u00e9s pour le partitionnement des tables avec des index ayant la propri\u00e9t\u00e9 &#171;unique&#187;, sans utiliser la structure B-tree, a \u00e9t\u00e9 ajout\u00e9e.\n<li class=\"l\"> Am\u00e9lioration des performances globales de blocage pour les requ\u00eates traitant un grand nombre de tables, ainsi que des am\u00e9liorations dans le traitement des requ\u00eates sur des tables partitionn\u00e9es, acc\u00e9l\u00e9rant le filtrage des sections non utilis\u00e9es et les op\u00e9rations de jointure (JOIN).\n<li class=\"l\"> Les op\u00e9rations sur le texte, telles que les fonctions de mise en majuscule\/minuscule, ont \u00e9t\u00e9 acc\u00e9l\u00e9r\u00e9es. Un mode PG_UNICODE_FAST a \u00e9t\u00e9 ajout\u00e9 pour acc\u00e9l\u00e9rer la prise en compte des propri\u00e9t\u00e9s de la locale des caract\u00e8res Unicode.\n<li class=\"l\"> Il est d\u00e9sormais possible de conserver les statistiques du planificateur de requ\u00eates apr\u00e8s des mises \u00e0 jour entre des versions significatives de PostgreSQL. Ce changement permet d'\u00e9viter l'ex\u00e9cution d'une op\u00e9ration gourmande en ressources &#171;ANALYZE&#187; apr\u00e8s le lancement d'une nouvelle version, dont l'ach\u00e8vement entra\u00eene une baisse de la performance de la SGBD.\n<li class=\"l\"> La performance de l'outil pg_upgrade, utilis\u00e9 pour automatiser la migration vers une nouvelle version majeure de PostgreSQL, a \u00e9t\u00e9 am\u00e9lior\u00e9e. Les optimisations sont particuli\u00e8rement visibles lors de la mise \u00e0 jour des bases de donn\u00e9es contenant un grand nombre d'objets, tels que des tables et des s\u00e9quences. Pour acc\u00e9l\u00e9rer le traitement, un drapeau &#171;&#8212;jobs N&#187; a \u00e9galement \u00e9t\u00e9 ajout\u00e9 pour parall\u00e9liser les v\u00e9rifications sur N threads, ainsi qu'un drapeau &#171;&#8212;swap&#187; pour remplacer enti\u00e8rement les r\u00e9pertoires de donn\u00e9es sans cr\u00e9er de liens, sans clonage et sans copie de fichiers.\n<li class=\"l\"> Le support des colonnes g\u00e9n\u00e9r\u00e9es virtuellement a \u00e9t\u00e9 ajout\u00e9, dont les valeurs sont calcul\u00e9es \u00e0 la vol\u00e9e lors de l'ex\u00e9cution des requ\u00eates, sans stockage sur disque. Si dans l'expression &#171;CREATE TABLE&#8230;&#187; pour les colonnes g\u00e9n\u00e9r\u00e9es, seul le mot cl\u00e9 &#171;GENERATED&#187; est sp\u00e9cifi\u00e9 sans pr\u00e9ciser le type (STORED ou VIRTUAL), la nouvelle option est appliqu\u00e9e par d\u00e9faut au lieu de l'ancienne impl\u00e9mentation. Dans l'ancienne impl\u00e9mentation, les valeurs \u00e9taient g\u00e9n\u00e9r\u00e9es lors des op\u00e9rations &#171;INSERT&#187; ou &#171;UPDATE&#187; et \u00e9taient enregistr\u00e9es sur disque pour un usage ult\u00e9rieur. L'inconv\u00e9nient des colonnes g\u00e9n\u00e9r\u00e9es virtuellement est qu'elles ne peuvent pas \u00eatre utilis\u00e9es dans des index, tandis que leur avantage est de permettre la normalisation et la modification des donn\u00e9es \u00e0 la vol\u00e9e (ce qui est pertinent lors du travail avec des donn\u00e9es JSON). En ce qui concerne les colonnes g\u00e9n\u00e9r\u00e9es stock\u00e9es classiques, la nouvelle version assure d\u00e9sormais le support de la r\u00e9plication logique.\n<li class=\"l\"> Dans les commandes INSERT, UPDATE, DELETE et MERGE, il est d\u00e9sormais possible de renvoyer les anciennes valeurs (OLD) et les valeurs actuelles (CURRENT) dans l'expression RETURNING. Par exemple, &#171;UPDATE&#8230; RETURNING WITH (OLD AS o, NEW AS n) o.*, n.*.&#187;.\n<li class=\"l\"> Une fonction uuidv7() a \u00e9t\u00e9 ajout\u00e9e pour g\u00e9n\u00e9rer des identifiants uniques al\u00e9atoires au format UUIDv7. Contrairement \u00e0 l'ancienne fonction de g\u00e9n\u00e9ration de UUID (gen_random_uuid), qui est maintenant \u00e9galement accessible sous le nom de uuidv4(), dans UUIDv7, en plus de la valeur al\u00e9atoire, le temps de g\u00e9n\u00e9ration est inclus. La pr\u00e9sence de parties ordonn\u00e9es dans la valeur UUID (les 12 premiers caract\u00e8res repr\u00e9sentant le temps \u00e9pocal, suivis de 18 caract\u00e8res al\u00e9atoires) am\u00e9liore l'efficacit\u00e9 du tri et de l'indexation, ce qui est pertinent car les UUID sont g\u00e9n\u00e9ralement utilis\u00e9s pour les cl\u00e9s primaires (par exemple, les cl\u00e9s cr\u00e9\u00e9es \u00e0 des moments proches sont plac\u00e9es les unes \u00e0 c\u00f4t\u00e9 des autres dans l'index).\n<li class=\"l\"> L'op\u00e9ration &#171;LIKE&#187; a \u00e9t\u00e9 enrichie d'un support pour les correspondances textuelles utilisant des propri\u00e9t\u00e9s locales ind\u00e9terministes &#171;collation&#187;, permettant des comparaisons tenant compte du sens des caract\u00e8res (par exemple, lors des comparaisons, l'accent peut ne pas \u00eatre pris en compte). Une fonction CASEFOLD a \u00e9t\u00e9 ajout\u00e9e pour changer la casse des caract\u00e8res en tenant compte des propri\u00e9t\u00e9s locales &#171;collation&#187; (par exemple, certains caract\u00e8res ont plus de deux variantes minuscules ou n\u00e9cessitent une conversion en majuscules plut\u00f4t qu'en minuscules lors des comparaisons).\n<li class=\"l\"> La possibilit\u00e9 d'utiliser des contraintes temporelles (temporal constraint) a \u00e9t\u00e9 ajout\u00e9e. Pour les valeurs &#171;PRIMARY KEY&#187; et &#171;UNIQUE&#187;, l'expression &#171;WITHOUT OVERLAPS&#187; doit \u00eatre utilis\u00e9e pour ajouter des contraintes temporelles, tandis que pour la valeur &#171;FOREIGN KEY&#187; - l'expression PERIOD. Par exemple, lors de la d\u00e9finition des cl\u00e9s primaires, il est possible de limiter les cl\u00e9s avec des intervalles de temps qui se chevauchent.\n<li class=\"l\"> Une commande &#171;CREATE FOREIGN TABLE &#8230; LIKE command&#187; a \u00e9t\u00e9 ajout\u00e9e pour cr\u00e9er une structure de table externe bas\u00e9e sur la d\u00e9finition d'une table locale.\n<li class=\"l\"> Ajout du support de la connexion \u00e0 la base de donn\u00e9es avec une authentification bas\u00e9e sur OAUTH 2.0 utilisant un jeton d'acc\u00e8s au lieu d'un mot de passe. L'utilisation d'OAUTH permet de ne pas stocker de mots de passe dans la base de donn\u00e9es, d'identifier les utilisateurs via des services externes et d'utiliser des fonctionnalit\u00e9s telles que l'authentification \u00e0 deux facteurs et un point d'entr\u00e9e unique (SSO).\n<li class=\"l\"> Ajout de la fonction ssl_tls13_ciphers(), qui permet de d\u00e9finir la liste des algorithmes de chiffrement autoris\u00e9s lors de la connexion utilisant le protocole TLSv1.3.\n<li class=\"l\"> Le support de l'authentification utilisant l'algorithme md5 pour le hachage des mots de passe a \u00e9t\u00e9 class\u00e9 comme obsol\u00e8te et pr\u00e9vu pour suppression. Au lieu de md5, il est recommand\u00e9 d'utiliser l'algorithme SCRAM (SCRAM-SHA-256), introduit dans PostgreSQL 10. De plus, il est not\u00e9 que le support du passage de l'authentification bas\u00e9e sur SCRAM lors de la connexion via postgres_fdw et dblink aux serveurs PostgreSQL externes a \u00e9t\u00e9 impl\u00e9ment\u00e9.\n<li class=\"l\"> Lors de l'ex\u00e9cution de l'op\u00e9ration &#171;EXPLAIN ANALYZE&#187;, des informations sur le nombre d'op\u00e9rations de recherche dans les index lors de la num\u00e9risation de l'index et le nombre d'acc\u00e8s aux tampons lors de l'ex\u00e9cution de la requ\u00eate sont fournies. L'output &#171;EXPLAIN ANALYZE VERBOSE&#187; comprend des statistiques sur le CPU, le journal WAL et l'intensit\u00e9 des op\u00e9rations de lecture. Des informations sur le temps pass\u00e9 sur l'op\u00e9ration VACUUM et l'analyse des tables ont \u00e9t\u00e9 ajout\u00e9es \u00e0 la table pg_stat_all_tables. Des statistiques sur l'intensit\u00e9 d'entr\u00e9e\/sortie et la charge sur le journal WAL par connexion ont \u00e9t\u00e9 fournies. Des informations diagnostiques sur les conflits lors des op\u00e9rations d'\u00e9criture pendant la r\u00e9plication logique ont \u00e9t\u00e9 ajout\u00e9es dans pg_stat_subscription_stats et dans les logs.\n<li class=\"l\"> Dans les nouvelles installations, l'utilisation par d\u00e9faut des sommes de contr\u00f4le pour v\u00e9rifier l'int\u00e9grit\u00e9 des donn\u00e9es stock\u00e9es est activ\u00e9e. Pour annuler ce comportement lors du lancement de initdb, il faut sp\u00e9cifier l'option &#171;&#8212;no-data-checksums&#187;.\n<li class=\"l\"> L'utilitaire pg_createsubscriber a ajout\u00e9 le drapeau &#171;&#8212;all&#187; pour cr\u00e9er des r\u00e9pliques logiques avec une seule commande pour toutes les bases de donn\u00e9es.\n<li class=\"l\"> Une nouvelle version (3.2) du protocole utilis\u00e9 pour interagir avec les utilitaires externes et mise en \u0153uvre dans la biblioth\u00e8que libpq a \u00e9t\u00e9 r\u00e9alis\u00e9e. La derni\u00e8re mise \u00e0 jour du protocole a eu lieu dans PostgreSQL 7.4 (en 2003). La version 3.0 continue d'\u00eatre utilis\u00e9e par d\u00e9faut dans la biblioth\u00e8que libpq.          <\/ul>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=63877\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u0421\u0423\u0411\u0414 PostgreSQL 18. \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u0434\u043e \u043d\u043e\u044f\u0431\u0440\u044f 2030 \u0433\u043e\u0434\u0430. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 PostgreSQL 13.x, \u0441\u0430\u043c\u043e\u0439 \u0441\u0442\u0430\u0440\u043e\u0439 \u0438\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0432\u0435\u0442\u043e\u043a, \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0430 13 \u043d\u043e\u044f\u0431\u0440\u044f. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432\u0430: \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u0432\u0432\u043e\u0434\u0430\/\u0432\u044b\u0432\u043e\u0434\u0430, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0443\u044e \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0432\u0432\u043e\u0434\u0430\/\u0432\u044b\u0432\u043e\u0434\u0430 \u0438 \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a. \u041f\u043e\u043c\u0438\u043c\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \u043d\u0430 \u0432\u0441\u0435\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-144010","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u0421\u0423\u0411\u0414 PostgreSQL 18. \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u0434\u043e \u043d\u043e\u044f\u0431\u0440\u044f 2030 \u0433\u043e\u0434\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-subd-postgresql-18\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 PostgreSQL 18 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u0421\u0423\u0411\u0414 PostgreSQL 18. \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u0434\u043e \u043d\u043e\u044f\u0431\u0440\u044f 2030 \u0433\u043e\u0434\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-subd-postgresql-18\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-09-25T15:11:55+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-09-25T15:11:55+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lancement de la base de donn\u00e9es PostgreSQL 18 | ProHoster","description":"Apr\u00e8s un an de d\u00e9veloppement, une nouvelle branche stable de la base de donn\u00e9es PostgreSQL 18 est publi\u00e9e. Des mises \u00e0 jour pour cette nouvelle branche seront publi\u00e9es pendant cinq ans jusqu'en novembre 2030.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-subd-postgresql-18","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 PostgreSQL 18 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u0421\u0423\u0411\u0414 PostgreSQL 18. \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u0434\u043e \u043d\u043e\u044f\u0431\u0440\u044f 2030 \u0433\u043e\u0434\u0430.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-subd-postgresql-18","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-09-25T15:11:55+00:00","article:modified_time":"2025-09-25T15:11:55+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"144010","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 14:59:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 14:59:19","updated":"2026-01-23 14:59:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/144010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=144010"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/144010\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=144010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=144010"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=144010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}