From a1d074b420fa13aaabf4cc4910c9ff53a727b38d Mon Sep 17 00:00:00 2001
From: "Jonathan S. Katz"
- The press kit is made possible by the efforts of members of the global - PostgreSQL community. We extend our sincerest thanks to the following people: -
-+ The press kit is made possible by the efforts of members of the global + PostgreSQL community. We extend our sincerest thanks to the following people: +
+ {%endblock%} diff --git a/templates/pages/about/press/presskit14/base.html b/templates/pages/about/press/presskit14/base.html new file mode 100644 index 00000000..f24ad0f4 --- /dev/null +++ b/templates/pages/about/press/presskit14/base.html @@ -0,0 +1,166 @@ +{%extends "base/page.html"%} +{%block title%}PostgreSQL 13 Press Kit{%endblock%} +{%block contents%} + +
++ PostgreSQL is the world's most + advanced open source database, with a global community of thousands of users, + contributors, companies and organizations. Built on over 30 years of + engineering, starting at the University of California, Berkeley, PostgreSQL + has continued with an unmatched pace of development. PostgreSQL's mature + feature set not only matches top proprietary database systems, but exceeds + them in advanced database features, extensibility, security, and stability. +
+ ++ Learn more about PostgreSQL and participate in our community at + PostgreSQL.org. +
+{% endblock presskit_about %} + ++For explanations of the above features and others, please see the following +resources: +
+ +There are several ways you can download PostgreSQL 13, including:
+ ++ Other tools and extensions are available on the + PostgreSQL Extension Network. +
+ ++ PostgreSQL 14 comes with HTML documentation HTML documentation as well as man + pages, and you can also browse the documentation online in both + HTML and PDF formats. +
+ ++ PostgreSQL uses the PostgreSQL License, a + BSD-like "permissive" license. This OSI-certified license + is widely appreciated as flexible and business-friendly, since it does not + restrict the use of PostgreSQL with commercial and proprietary applications. + Together with multi-company support and public ownership of the code, our + license makes PostgreSQL very popular with vendors wanting to embed a database + in their own products without fear of fees, vendor lock-in, or changes in + licensing terms. +
+ +Website
+ + +
+
++ All logos are available for modification and redistribution under The + PostgreSQL Licence. The PostgreSQL name and + logo are trademarks of The + PostgreSQL Community Association of Canada. +
+ +PostgreSQL enjoys the support of numerous companies, who sponsor developers, + provide hosting resources, and give us financial support. See our + sponsors page for + some of these project supporters.
+ +There is also a large community of + companies offering PostgreSQL Support + , from individual consultants to multinational companies.
+ +If you wish to make a financial contribution to the PostgreSQL Global + Development Group or one of the recognized community non-profit organizations, + please visit our donations page.
+{% endblock %} diff --git a/templates/pages/about/press/presskit14/de.html b/templates/pages/about/press/presskit14/de.html new file mode 100644 index 00000000..1683dc61 --- /dev/null +++ b/templates/pages/about/press/presskit14/de.html @@ -0,0 +1,73 @@ +{% extends "pages/about/press/presskit14/base.html" %} + +{% block presskit_content %} +Die PostgreSQL Global Development Group hat heute die Veröffentlichung von PostgreSQL 14, der aktuellsten Version des weltweit führenden Open-Source-SQL-Datenbanksystems, bekannt gegeben.
+ +PostgreSQL 14 bringt eine Reihe von Verbesserungen, die es Entwicklern und Administratoren vereinfachen, ihre datengetriebenen Applikation einzusetzen. Im Bereich der komplexen Datentypen gibt auch in dieser Version wieder erhebliche Innovationen, z.B. bequemeren Zugriff für JSON und Unterstützung für nicht zusammenhängende Range-Datentypen. Die Trends der letzten Versionen, Geschwindigkeits-Verbesserungen und bessere verteilte Arbeitsabläufe, werden auch in dieser Version fortgesetzt: PostgreSQL 14 bietet Verbesserungen bei vielen gleichzeitigen Verbindungen, für Anwendungsfälle mit hoher Schreiblast, paralleler Abfrageverarbeitung und logischer Replikation.
+ +"Diese Version von PostgreSQL erweitert die Fähigkeit unserer Benutzer, Daten auch dann verwalten zu können, wenn die Bestände riesig werden. Die Ãberwachungsmöglichkeiten von PostgreSQL wurden erweitert und PostgreSQL enthält nun neue Optionen, die Applikations-Entwicklern helfenâ, sagt Magnus Hagander, ein Mitglied des PostgreSQL Core Teams. "PostgreSQL 14 beweist einmal wieder, dass die globale PostgreSQL Community es durch Engagement schafft, Rückmeldungen aufzunehmen und zu adressieren, und dabei auch noch innovative Datenbanksoftware erstellt, die sowohl in kleinen, wie auch in groÃen Unternehmen zum Einsatz kommt."
+ +PostgreSQL, ein innovatives Management System für Daten, bekannt für seine Robustheit und Zuverlässigkeit, profitiert von über 25 Jahren Open Source Entwicklung und einer globalen Entwicklergemeinschaft, und hat sich zur bevorzugten Open Source Datenbank für Unternehmen jeder GröÃe entwickelt.
+ +PostgreSQL unterstützt schon seit Version 9.2 die Verarbeitung von Daten im JSON-Format, die Syntax zur Extraktion von Daten war aber sehr spezifisch. PostgreSQL 14 erlaubt den Zugriff nun per Subscripts, was Abfragen wie z.B. SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']; ermöglicht. Diese Syntax entspricht der üblichen Methode zum Zugriff auf JSON-Daten. Die zugrunde liegende Technik ("subscriptingâ), die in PostgreSQL 14 hierfür hinzugefügt wurde, kann auch auf andere verschachtelte Datenstrukturen angewendet werden. So erhielt mit diesem Release auch hstore die entsprechende Funktionalität.
Range-Typen, die ebenfalls seit 9.2 erstmals verfügbar waren, unterstützen nun mit "Multi-Range" Typen nicht zusammenhängende Bereiche, also nicht überlappende Reihen von Werten (z.B. 08:00-12:00 Uhr, 15:00-18:30 Uhr). Die eingebauten Range-Typen (Datum, Zeit und Zahlen) sind bereits um Multi-Range-Fähigkeiten erweitert worden, es kann aber generell jeder Range-fähige Datentyp auch für Multi-Range fähig gemacht werden.
+ +Der Durchsatz von Systemen mit vielen gleichzeitigen Verbindungen wird mit PostgreSQL 14 signifikant erhöht. Einige Benchmarks zeigen eine Beschleunigung um den Faktor 2. Zudem wurde die Entstehung von Bloat auf häufig aktualisierten Indexen reduziert.
+ +PostgreSQL 14 erlaubt es, mehrere asynchrone Anfragen an die Datenbank zu senden, was vor allem bei höheren Latenzen zwischen Applikations- und Datenbankserver oder Arbeitslasten mit sehr vielen kleinen schreibenden Operationen (INSERT/UPDATE/DELETE) den Durchsatz deutlich verbessern kann. Diese Technik wird auf Client-Seite implementiert und ist bei Einsatz eines PostgreSQL 14 Clients oder der entsprechenden Version 14 der libpq mit jeder aktuellen PostgreSQL-Server-Version nutzbar.
Verteilte PostgreSQL-Datenbanken profitieren besonders von Version 14. Beim Einsatz von logischer Replikation kann PostgreSQL jetzt Daten von noch laufenden Transaktionen an Subscriber senden, was das Nachspielen dieser Transaktionen auf den Subscribern deutlich beschleunigt. PostgreSQL 14 enthält weitere Optimierungen des "logical decodingâ-Systems, auf dem die logische Replikation basiert.
+ +Foreign Data Wrappers, die für die Anbindung von externen Datenquellen, seien es relationale Datenbanken (wie PostgreSQL) oder sonstige Fremdsysteme, verwendet werden, können nun Parallelisierung nutzen. PostgreSQL 14 implementiert diese Fähigkeit für postgres_fdw, den Foreign Data Wrapper, der mit anderen PostgreSQL-Datenbanken interagiert.
Zusätzlich zur Parallelverarbeitung hat postgres_fdw die Fähigkeit hinzugewonnen, foreign-Tabellen mit groÃen Datenmengen auf einmal zu befüllen und kann mittels IMPORT FOREIGN SCHEMA auch partitionierte Tabellen importieren.
Die Performance-Verbesserungen von PostgreSQL 14 erstrecken sich auch auf das VACUUM-System, indem z.B. der Verwaltungsaufwand für B-Trees reduziert wurde. Ebenso wurde ein VACUUM "Notfallmodus" implementiert, der effektiv Problemen beim "Transaction ID Wraparoundâ vorgreift. Der Befehl ANALYZE, welcher Statistiken über die Datenbank sammelt, wurde signifikant beschleunigt.
Die transparente Kompression des PostgreSQL TOAST-Systems, mit dem gröÃere Daten wie Text oder auch geometrische Daten gespeichert werden, ist jetzt konfigurierbar. PostgreSQL 14 führt LZ4-Kompression als Option für TOAST-Spalten ein, während pglz-Kompression weiterhin unterstützt wird.
PostgreSQL 14 hat einige neue Features, die bei der Ãberwachung und bei der Fortschrittsanalyse helfen, um zum Beispiel den Fortschritt von COPY-Kommandos, write-ahead-log (WAL) Aktivität und Statistiken von Replikations-Slots zu verfolgen. Wird compute_query_id aktiviert, lassen sich Datenbankabfragen individuell im System verfolgen, zum Beispiel in pg_stat_activity,
+EXPLAIN VERBOSE und einigen anderen Bereichen.
Das Planen und Ausführen von Abfragen erfährt ebenfalls Verbesserungen mit PostgreSQL 14. Diese Version verbessert die parallelisierte Abfrageverarbeitung, indem beispielsweise parallele sequenzielle Scans beschleunigt werden. PL/pgSQL erlaubt nun die Nutzung paralleler Abfragen wenn der RETURN QUERY Befehl genutzt wird. AuÃerdem kann nun REFRESH MATERIALIZED VIEW parallele Abfragen durchführen. Nested-Loops können in PostgreSQL 14 von einem Caching der Tupel des inneren Knotens profitieren.
Erweiterte Statistiken können jetzt in PostgreSQL 14 für Ausdrücke verwendet werden. Window Functions können nun von inkrementellen Sortierungen, einer in PostgreSQL 13 neu implementierten Funktionalität, profitieren.
+ +Stored procedures, die eine Transaktionssteuerung in einem Codeblock ermöglichen, können jetzt Daten mit OUT-Parametern zurückgeben.
PostgreSQL 14 führt die Möglichkeit ein, Zeitstempel mittels der date_bin Funktion an einem bestimmten Intervall auszurichten. Diese Version fügt auch die SQL-konforme SEARCH und CYCLE Klauseln zur Unterstützung bei der Reihenfolge- und Zykluserkennung für rekursive Common Table Expressions ein.
PostgreSQL 14 ermöglicht es, komfortabel lesende und schreibende Berechtigungen an Benutzer von Tabellen, Views und Schemas mit pg_read_all_data und pg_write_all_data vordefinierte Rollen zuzuweisen.
Darüber hinaus setzt diese Version jetzt den Passwortstandard SCRAM-SHA-256 für das Verwaltungs- und Authentifizierungssystem als Voreinstellung für neue PostgreSQL-Instanzen.
PostgreSQL ist das führende Open-Source Datenbanksystem, mit einer weltweiten Community bestehend aus Tausenden von Nutzern und Mitwirkenden sowie Dutzenden von Firmen und Organisationen. Das PostgreSQL Projekt baut auf über 30 Jahre Erfahrung auf, beginnend an der University of California, Berkeley, und hat heute eine nicht zu vergleichende Performance bei der Entwicklung. PostgreSQL's ausgereiftes Feature Set ist nicht nur mit den führenden proprietären Datenbanksystemen vergleichbar, sondern übertrifft diese in erweiterten Datenbankfunktionen, Erweiterbarkeit, Sicherheit und Stabilität.
+ +SEPTEMBER 30, 2021 - The PostgreSQL Global Development Group today announced the release of +PostgreSQL 14, the latest +version of the worldâs most advanced open source database.
+PostgreSQL 14 brings a variety of features that help developers and +administrators deploy their data-backed applications. PostgreSQL continues to +add innovations on complex data types, including more convenient access for +JSON and support for noncontiguous ranges of data. This latest release adds +to PostgreSQL's trend on improving high performance and distributed +data workloads, with advances in connection concurrency, high-write +workloads, query parallelism and logical replication.
+ +"This latest release of PostgreSQL advances our users' ability to manage data +workloads at scale, enhances observability, and contains new features that help +application developers," said Magnus Hagander, a PostgreSQL Core Team member. +"PostgreSQL 14 is a testament to the dedication of the global PostgreSQL +community in addressing feedback and continuing to deliver innovative database +software that is deployed by organizations large and small."
+ +PostgreSQL, an innovative data management system +known for its reliability and robustness, benefits from over 25 years of open +source development from a global developer community +and has become the preferred open source relational database for organizations +of all sizes.
+ +PostgreSQL has supported manipulating JSON
+data since the release of PostgreSQL 9.2, though retrieval of values used a
+unique syntax. PostgreSQL 14 now lets you access JSON data using subscripts, e.g. a query like SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];
+now works. This aligns PostgreSQL with syntax that is commonly recognized for
+retrieving information from JSON data. The subscripting framework added to
+PostgreSQL 14 can be generally extended to other nested data structures, and is
+also applied to the hstore
+data type in this release.
Range types, also first +released in PostgreSQL 9.2, now have support for noncontiguous ranges through +the introduction of the "multirange" +data type. A multirange is an ordered list of ranges that are nonoverlapping, +which lets developers write simpler queries for dealing with complex sequences +of ranges. The range types native to PostgreSQL (dates, times, numbers) support +multiranges, and other data types can be extended to use multirange support.
+ +PostgreSQL 14 provides a significant throughput boost on workloads that use many +connections, with some benchmarks showing a 2x speedup. This release continues +on the recent improvements to the management of B-tree indexes by reducing index +bloat on tables with frequently updated indexes.
+ +PostgreSQL 14 introduces the ability to pipeline queries
+to a database, which can significantly improve performance over high latency
+connections or for workloads with many small write (INSERT/UPDATE/DELETE)
+operations. As this is a client-side feature, you can use pipeline mode with any
+modern PostgreSQL database with the version 14 client
+or a client driver built with version 14 of libpq.
Distributed PostgreSQL databases stand to benefit from PostgreSQL 14. When using +logical replication, +PostgreSQL can now stream in-progress transactions to subscribers, with +significant performance benefits for applying large transactions on subscribers. +PostgreSQL 14 also adds several other performance enhancements to the logical +decoding system that powers logical replication.
+ +Foreign data wrappers,
+which are used for working with federated workloads across PostgreSQL and other
+databases, can now leverage query parallelism in PostgreSQL 14. This release
+implements this ability in the postgres_fdw,
+the foreign data wrapper that interfaces with other PostgreSQL databases.
In addition to supporting query parallelism, postgres_fdw can now bulk insert
+data on foreign tables and import table partitions with the
+IMPORT FOREIGN SCHEMA
+directive.
PostgreSQL 14 extends its performance gains to the vacuuming
+system, including optimizations for reducing overhead from B-Trees. This release
+also adds a vacuum "emergency mode" that is designed to prevent transaction ID
+wraparound. ANALYZE,
+used to collect database statistics, now runs significantly faster in
+PostgreSQL 14 due to its own performance improvements.
Compression for PostgreSQL's TOAST
+system, which is used to store larger data like blocks of text or geometries,
+can now be configured.
+PostgreSQL 14 adds LZ4 compression for TOAST columns while retaining support for
+pglz compression.
PostgreSQL 14 adds several new features to help with monitoring and
+observability, including the ability to track the progress of COPY commands,
+write-ahead-log (WAL) activity,
+and statistics on replication slots.
+Enabling compute_query_id
+lets you uniquely track a query through several PostgreSQL features, including
+pg_stat_activity,
+EXPLAIN VERBOSE, and
+more.
Query planning and execution benefit from enhancements in PostgreSQL 14. This
+release includes several improvements to PostgreSQL's query parallelism support,
+including better performance of parallel sequential scans, the ability for
+PL/pgSQL to execute
+parallel queries when using the RETURN QUERY command, and enabling
+REFRESH MATERIALIZED VIEW
+to execute parallel queries. Additionally, queries that use nested loop joins
+may see performance benefits through additional caching that is added in
+PostgreSQL 14.
Extended statistics +can now be used in PostgreSQL 14 for expressions. Additionally, +window functions can +now benefit from incremental sorts, a feature introduced in +PostgreSQL 13.
+ +Stored procedures,
+which allow for transaction control in a block of code, can now return data by
+using OUT parameters.
PostgreSQL 14 introduces the ability to "bin", or align, timestamps to a
+particular interval using the date_bin
+function. This release also adds the SQL conforming
+SEARCH
+and CYCLE
+clauses to help with ordering and cycle detection for recursive
+common table expressions.
PostgreSQL 14 makes it convenient to assign read-only and write-only privileges
+to users on tables, views, and schemas using the pg_read_all_data and
+pg_write_all_data predefined roles.
Additionally, this release now makes the standard compliant
+SCRAM-SHA-256 password
+management and authentication system the default on new PostgreSQL instances.
PostgreSQL is the world's most advanced open +source database, with a global community of thousands of users, contributors, +companies and organizations. Built on over 30 years of engineering, starting at +the University of California, Berkeley, PostgreSQL has continued with an +unmatched pace of development. PostgreSQL's mature feature set not only matches +top proprietary database systems, but exceeds them in advanced database +features, extensibility, security, and stability.
+ +El Grupo Global de Desarrollo de PostgreSQL ha anunciado hoy el lanzamiento de +PostgreSQL 14, la última versión de la base de datos de código abierto más avanzada del mundo.
+ +PostgreSQL 14 introduce una variedad de caracterÃsticas que ayudarán a desarrolladores y administradores a implementar sus aplicaciones para el manejo de datos. PostgreSQL sigue añadiendo innovaciones para tipos de datos complejos, que incluyen mayor facilidad de acceso a datos JSON y soporte para rangos de datos no contiguos. Esta última versión refuerza la tendencia de PostgreSQL hacia las mejoras para el alto rendimiento y las cargas de trabajo de datos distribuidos, presentando avances en la concurrencia de conexiones, cargas de trabajo con elevado nivel de escritura, paralelismo de consultas y replicación lógica.
+ +"Esta última versión de PostgreSQL incrementa la capacidad de nuestros usuarios de administrar cargas de trabajo de datos a gran escala, mejora la observabilidad e incluye nuevas caracterÃsticas que facilitan el trabajo de los desarrolladores de aplicaciones", dijo Magnus Hagander, miembro del Core Team de PostgreSQL. "PostgreSQL 14 constituye la prueba del compromiso de la comunidad global de PostgreSQL para analizar sugerencias y opiniones recibidas y continuar ofreciendo un software de base de datos innovador utilizado por organizaciones grandes y pequeñas."
+ +PostgreSQL es un innovador sistema de gestión de datos conocido por su fiabilidad y solidez. Gracias a los más de 25 años de desarrollo de código abierto realizado por una comunidad mundial de desarrolladores, se ha convertido en la base de datos relacional de código abierto preferida por organizaciones de todos los tamaños.
+ +PostgreSQL ha ofrecido soporte para la manipulación de datos JSON
+desde el lanzamiento de su versión 9.2, aunque hasta ahora para obtener los valores se utilizaba una sintaxis única. Con PostgreSQL 14, en cambio, es posible acceder a datos JSON usando subÃndices. Por ejemplo, ahora es posible realizar una consulta como SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];
+. Esto alinea a PostgreSQL con la sintaxis comúnmente reconocida para obtener información de datos JSON. El sistema de subÃndices añadido a PostgreSQL 14 es generalmente extensible a otras estructuras de datos anidadas, y se aplica también al tipo de dato hstore
+presente en esta versión.
Los tipos de rangos (que también fueron introducidos en PostgreSQL 9.2) ahora cuentan con el soporte para rangos no contiguos a través de la introducción del tipo de datos "multirango". +Un rango múltiple consiste en una lista ordenada de rangos que no se superponen, lo cual permite a los desarrolladores escribir consultas más sencillas para manejar secuencias complejas de rangos. Los tipos de rango nativos de PostgreSQL (fechas, horas, números) soportan los rangos múltiples. Asimismo, es posible extender el soporte de rangos múltiples a otros tipos de datos.
+ +PostgreSQL 14 ofrece un importante incremento de rendimiento en las cargas de trabajo con un alto número de conexiones. Algunas pruebas de rendimiento indican un aumento de velocidad equivalente al doble. Esta versión continúa con las recientes mejoras en la gestión de los Ãndices B-tree, al reducir el sobredimensionamiento de los Ãndices en aquellas tablas cuyos Ãndices se actualizan con frecuencia.
+ +PostgreSQL 14 introduce la posibilidad de canalizar consultas
+hacia una base de datos, lo cual puede mejorar significativamente el rendimiento en las conexiones de alta latencia o para cargas de trabajo con un gran número de pequeñas operaciones de escritura (INSERT/UPDATE/DELETE). Al tratarse de una caracterÃstica del lado cliente, es posible utilizar el modo pipeline con cualquier base de datos PostgreSQL actual que cuente con la versión 14 del cliente o con un controlador de cliente creado con la versión 14 de libpq.
También las bases de datos PostgreSQL distribuidas se benefician de PostgreSQL 14. Al utilizar la replicación lógica, +PostgreSQL puede ahora enviar las transacciones en curso a los suscriptores, con importantes ventajas de rendimiento cuando se aplican a los mismos transacciones de gran volumen. Además, PostgreSQL 14 añade otras mejoras de rendimiento al sistema de decodificación lógica, en el que se basa la replicación lógica.
+ +Los conectores de datos externos, empleados para manejar cargas de trabajo federadas entre PostgreSQL y otras bases de datos, ahora pueden aprovechar el paralelismo de consultas que ofrece PostgreSQL 14. En esta versión se implementa dicha funcionalidad a través de postgres_fdw,
+el conector de datos externos que interactúa con otras bases de datos PostgreSQL.
Además de ofrecer soporte para el paralelismo de consultas, postgres_fdw permite ahora la inserción masiva de datos en tablas foráneas y la importación de particiones de tablas a través de la directiva IMPORT FOREIGN SCHEMA.
PostgreSQL 14 extiende sus incrementos de rendimiento al sistema de vacuum, incluyendo optimizaciones que reducen la sobrecarga de los B-Trees. Esta versión introduce también en vacuum una "modalidad de emergencia" diseñada para prevenir el wraparound del ID de transacción. Gracias a las mejoras de rendimiento realizadas en PostgreSQL 14, ANALYZE (utilizado para recopilar estadÃsticas de la base de datos) ahora se ejecuta con mucha más rapidez.
Ahora es posible configurar
+la compresión para el sistema TOAST de PostgreSQL, utilizado para almacenar datos de mayor tamaño como bloques de texto o geometrÃas. PostgreSQL 14 añade la compresión LZ4 para las columnas TOAST, conservando al mismo tiempo el soporte para la compresión pglz.
PostgreSQL 14 incorpora varias caracterÃsticas nuevas que facilitan el monitoreo y la observabilidad, incluyendo la posibilidad de dar seguimiento al progreso de los comandos COPY,
+la actividad del WAL (write-ahead-log),
+y las estadÃsticas de los slots de replicación.
+Al habilitar compute_query_id
+es posible realizar el seguimiento único de una consulta a través de varias caracterÃsticas de PostgreSQL, que incluyen
+pg_stat_activity,
+EXPLAIN VERBOSE, y más.
La planificación y ejecución de consultas se benefician de las mejoras introducidas en PostgreSQL 14. Esta versión incluye varias mejoras en el soporte al paralelismo de consultas de PostgreSQL. Entre ellas, un mejor desempeño de los escaneos secuenciales paralelos, la capacidad de
+PL/pgSQL de realizar consultas paralelas utilizando el comando RETURN QUERY, y la posibilidad de permitirle a
+REFRESH MATERIALIZED VIEW
+ejecutar consultas paralelas. Adicionalmente, las consultas que usan nested loop joins pueden obtener beneficios de rendimiento a través del caché adicional que ha sido añadido en PostgreSQL 14.
Las estadÃsticas extendidas +pueden ahora ser utilizadas en PostgreSQL 14 para las expresiones. Asimismo, las funciones de ventana deslizante pueden beneficiarse del ordenamiento incremental, caracterÃstica introducida en +PostgreSQL 13.
+ +Los procedimientos almacenados,
+que permiten controlar las transacciones en un bloque de código, pueden ahora devolver datos utilizando parámetros OUT.
PostgreSQL 14 introduce la posibilidad de realizar un "bin", o alinear, los timestamps a un intervalo determinado utilizando la función date_bin
+. En esta versión se añaden también las cláusulas
+SEARCH
+y CYCLE
+ (conformes al estándar SQL) que ayudan a ordenar y detectar la existencia de ciclos en las
+expresiones recursivas de tablas comunes.
Gracias a los roles predefinidos pg_read_all_data y
+pg_write_all_data, en PostgreSQL 14 es más fácil asignar a los usuarios privilegios de sólo lectura y sólo escritura para tablas, vistas y esquemas.
Además, a partir de esta versión, el sistema de gestión de contraseñas y autenticación, conforme con el estándar SCRAM-SHA-256, será el predeterminado en todas las nuevas instancias de PostgreSQL.
PostgreSQL es la base de datos de código abierto más avanzada del mundo, que cuenta con una comunidad global de miles de usuarios, colaboradores, empresas y organizaciones. Basada en más de 30 años de ingenierÃa, que comenzaron en la Universidad de Berkeley en California, PostgreSQL ha continuado con un ritmo de desarrollo inigualable. El maduro conjunto de caracterÃsticas de PostgreSQL no sólo iguala a los principales sistemas de bases de datos propietarios, sino que los supera en términos de caracterÃsticas avanzadas, extensibilidad, seguridad y estabilidad.
+ +Le PostgreSQL Global Development Group a annoncé aujourd'hui la sortie +de PostgreSQL 14, +la toute dernière version +de la base de données open source de référence.
+ +PostgreSQL 14 apporte de nouvelles fonctionnalités aux développeurs et +administrateurs pour déployer leurs applications adossées aux bases de +données. Des innovations sont apportées aux types de données +complexes, facilitant l'accès aux données JSON et le support des +plages de données non contiguës. Poursuivant la tendance, cette +dernière version améliore les trafics de charges à haute-performance +et distribuées, avec des avancées significatives dans le support des +connexions concurrentes, des trafics intensifs en écriture, le +parallélisme des requêtes et la réplication logique.
+ +« Cette dernière version de PostgreSQL apporte à nos utilisateurs la +capacité de gérer des trafics de données à grande échelle, améliore +l'observabilité, et contient de nouvelles fonctionnalités pour les +développeurs d'applications », déclare Magnus Hagander, membre de la +Core Team de PostgreSQL. « PostgreSQL 14 témoigne de l'engagement de +la communauté globale de PostgreSQL à prendre en compte le retours des +utilisateurs tout en délivrant un logiciel de base de données +innovant, déployé dans tout type d'organisations, grandes ou petites. »
+ +PostgreSQL, reconnu pour la fiabilité et +la robustesse de son système de gestion de données, bénéficiant d'un +développement open source par une +communauté globale de développeurs +depuis plus de 25 ans, est devenu le moteur de gestion de base de données relationnelles +préféré des entreprises de toutes tailles.
+ +PostgreSQL supporte la manipulation de données
+JSON depuis
+la version PostgreSQL 9.2 ; il s'agissait toutefois d'une syntaxe
+propre au moteur. PostgreSQL 14 permet désormais
+d'accéder aux données JSON en utilisant la notation subscript.
+Ainsi, une requête de type
+SELECT ('{ "postgres": { "release": 14}}'::jsonb)['postgres']['release'];
+est maintenant parfaitement fonctionnelle. Cela permet à PostgreSQL
+d'être aligné avec la syntaxe couramment utilisée pour récupérer des
+données JSON. L'infrastructure de subscripting ajoutée à PostgreSQL 14
+peut être généralisée à toutes les autres formes de données
+structurées et est également appliquée au type de données
+hstore à partir de
+cette version.
Les types « plage de données », également +introduits dans la version PostgreSQL 9.2, supportent maintenant les +plages de données non continues par le biais de l'introduction du type +«multirange». +Un multirange est une liste ordonnée de plages disjointes. Cela permet +aux développeurs d'écrire des requêtes plus simples pour traiter des +séquences complexes de plages. Les types natifs à PostgreSQL +supportant les plages (dates, heures, nombres) supportent maintenant +les plages multiples. D'autres types de données peuvent être étendus +pour utiliser ce support de plages multiples.
+ +PostgreSQL 14 accélère considérablement le débit des trafics reposant +sur de nombreuses connexions concurrentes ; les tests de performance +montrent un doublement de la vitesse de traitement. Cette version +poursuit également l'amélioration de la gestion des index B-tree en +réduisant la perte d'espace des +index fréquemment mis à jour.
+ +PostgreSQL 14 introduit la possibilité d'effectuer des
+requêtes en rafale
+(pipeline mode) vers la base de données. Cette nouvelle fonctionnalité
+permet d'améliorer la performance des connexions ayant une latence
+élevée ou pour les trafics effectuant de nombreuses opérations
+d'écriture de petite taille (INSERT/UPDATE/DELETE). Comme il
+s'agit d'une amélioration côté client, le mode en rafale peut être
+utilisé sur des versions plus anciennes de PostgreSQL, dès lors que le
+client est en version 14.
PostgreSQL 14 apporte son lot d'améliorations aux bases de données +distribuées. Lors de l'utilisation de la +réplication logique, +PostgreSQL peut maintenant transmettre les transactions en cours au +travers du flux de réplication aux souscripteurs. Cela permet une +amélioration sensible de la performance lors de l'application de +grosses transactions sur les souscripteurs. PostgreSQL 14 ajoute +également plusieurs autres améliorations de performance au système de +décodage logique, base de la réplication logique.
+ +Les Foreign data wrappers,
+qui sont utilisés pour permettre les trafics fédérés entre PostgreSQL
+et d'autres bases de données, peuvent maintenant utiliser le
+parallélisme des requêtes avec PostgreSQL 14. Cette version implante
+cette fonctionnalité pour le foreign data wrapper
+postgres_fdw
+dont le rôle est de se connecter à d'autres bases PostgreSQL.
En plus de supporter le parallélisme des requêtes, postgres_fdw peut
+maintenant faire des insertions en masse dans une table étrangère et
+importer des partitions de table avec la directive
+IMPORT FOREIGN SCHEMA.
PostgreSQL 14 ajoute un gain de performance au système de
+vacuuming
+par l'introduction d'optimisations permettant de réduire la surcharge
+liée au B-trees. Cette version inclut également un vacuum « d'urgence
+» qui est conçu afin de prévenir le rebouclage des identifiants de
+transaction. La commande
+ANALYZE,
+utilisée pour collecter des statistiques sur la base de données,
+fonctionne plus rapidement sur PostgreSQL 14.
Le mode de compression du système de
+TOAST de
+PostgreSQL, permettant de stocker les données volumineuses comme des
+blocs de texte ou des géométries,
+peut maintenant être configuré.
+PostgreSQL 14 introduit la compression LZ4 pour les colonnes TOAST
+tout en maintenant le support de la compression pglz.
PostgreSQL 14 apporte de nombreuses fonctionnalités de surveillance et
+d'observabilité dont la possibilité de
+suivre la progression des commandes COPY,
+l'activité du write-ahead-log (WAL),
+et
+les statistiques des slots de réplication.
+L'activation de
+compute_query_id
+permet de suivre de façon unique une requête au sein de différentes
+fonctionnalités de PostgreSQL comme
+pg_stat_activity,
+EXPLAIN VERBOSE,
+et différentes fonctions de journalisation.
La planification et l'exécution des requêtes bénéficient des
+optimisations de PostgreSQL 14. Cette version inclut plusieurs
+améliorations du parallélisme des requêtes de PostgreSQL. On peut
+citer de meilleures performances des lectures séquentielles
+parallèles, la possibilité pour
+PL/pgSQL
+d'exécuter des requêtes parallélisées lors de l'utilisation de la
+commande RETURN QUERY et la possibilité pour
+REFRESH MATERIALIZED VIEW
+d'exécuter des requêtes parallèlisées. De plus, les requêtes utilisant
+des jointures à boucles imbriquées bénéficieront de meilleures
+performances grà ce au système de cache additionnel intégré Ã
+PostgreSQL 14.
Les statistiques +étendues +qde PostgreSQL 14 peuvent maintenant être utilisées pour les +expressions. En outre, les +fonctions de fenêtrage +peuvent maintenant bénéficier de tris incrémentaux, une fonctionnalité +introduite par +PostgreSQL 13.
+ +Les procédures stockées,
+qui permettent le contrôle des transactions dans un bloc de code,
+peuvent maintenant retourner des données en utilisant des paramètres
+OUT.
PostgreSQL 14 introduit la possibilité de regrouper, ou d'aligner, des
+estampilles temporelles dans un intervalle particulier en utilisant la
+fonction
+date_bin.
+Cette version apporte également le support des clauses conformes à la
+norme SQL
+SEARCH
+et
+CYCLE
+qui aident au tri et à la détection de cycles dans les
+expressions communes de tables (CTE)
+récursives.
PostgreSQL 14 simplifie l'assignation des privilèges de lecture seule
+ou écriture seule aux utilisateurs sur les tables, vues et schéma Ã
+l'aide
+des rôles prédéfinis
+pg_read_all_data et pg_write_all_data.
De plus, cette version définit par défaut le gestionnaire de mot de
+passe et d'authentification
+SCRAM-SHA-256
+sur les nouvelles instances PostgreSQL.
PostgreSQL est le système de gestion de bases de +données libre de référence. Sa communauté mondiale est composée de plusieurs +milliers dâutilisateurs, contributeurs, entreprises et institutions. Le projet +PostgreSQL, démarré il y a plus de 30 ans à lâuniversité de Californie, à +Berkeley, a atteint aujourdâhui un rythme de développement sans pareil. +Lâensemble des fonctionnalités proposées est mature, et dépasse même celui des +systèmes commerciaux leaders sur les fonctionnalités avancées, les extensions, +la sécurité et la stabilité.
+ ++ ×§××צת ×פ×ת×× ×××××××ת ×©× PostgreSQL ×××××¢× ×××× ×¢× ×©×ר××¨× ×©× + PostgreSQL 14 + , ×××¨×¡× ××¢××× ×ת ×××תר ×©× + ××¡× ×× ×ª×× ×× ××תק×× ××¢××× ×¢× ×§×× ×¤×ª×× +
+ ++ PostgreSQL 14 ×××× ××××× ×ª××× ×ת ××ס×××¢×ת ××פת××× ××× ××× ×ער×ת ××ר××¥ ×ת ×××ש×××× ××××××× ×× ×ª×× ×× ×©×××. PostgreSQL + ××ש××× ×××ס××£ ××××ש×× ×× ××©× ×¡××× × ×ª×× ×× ××ר××××, ×××× ×××©× × ××× ××תר ×- JSON ×ת×××× ×××××× × ×ª×× ×× ×× ×¨×¦×פ××. ×××××¨× + ××ר×× × ×× ××ס××¤× ××××× ×©× PostgreSQL ×ש×פ×ר ××צ××¢×× ×××××× ××¢×××¡× ×¢×××× ×¢× × ×ª×× ×× ××××ר××, ×¢× ××××ש×× ×××××ר×× + ××§××××××, ×¢×××¡× ×¢×××× ××××××, ××§×××××ת ש×××ת×ת ×ש×פ×× ××××. +
+ ++ "××××××¨× ×××ר×× × ×©× PostgreSQL ××§××ת ×ת ×××××ת ×©× ××שת×ש×× ×©×× × ×× ×× ×¢×××¡× ×¢×××× ××§× × ×××× ××××, ×שפרת ×ת שק×פ×ת + ×× ×¨××ת ×××××× ×ª××× ×ת ××ש×ת ××ס×××¢×ת ××פת×× ××ש××××", ××ר ××× ×ס ×××× ×ר, ××ר צ××ת ×××× ×©× PostgreSQL. + × ×ª××× PostgreSQL 14 ××××× ×¢××ת ××ס×ר××ª× ×©× ×§×××ת PostgreSQL ××¢××××ת ××ת×××ס×ת ××ש×× ××××©× ×ספקת ××¡× × ×ª×× ×× ×××©× × + ×שר ×ת××× ××ר××× ×× ×××××× ××§×× ×× ". +
+ ++ PostgreSQL + ××ת ×ער×ת × ×××× × ×ª×× ×× ×××©× ×ת ×××××¢× ××××× ××ª× ×××××¡× ×, × ×× ×ת ×××¢× 25 ×©× ×ת פ×ת×× ×§×× ×¤×ª×× × + ×§×××ת ×פת××× ×¢××××ת + ××פ×× ××ס×ס × ×ª×× ×× ×¨×צ××× × ×פת×× ××××¢××£ ×¢× ×ר××× ×× ××× ××××××. +
+ ++ PostgreSQL ת×× ××× ×פ××צ××ת × ×ª×× ×× ×©× + JSON + ××× ×¤×¨×¡×× PostgreSQL 9.2, ×× ×× ××××ר ×ער××× ×שת×ש ×ת×××ר ××××××. + ×עת PostgreSQL 14 ××פשר + ××שת ×× ×ª×× × JSON ×××צע×ת ס×× + סקר×פ××× + ××ש×. ש××××ª× ××× +
+ +
+ SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];
+
+ תע××× ×¢×ש××. ×× ×ת×× ×ת PostgreSQL ×¢× ×ª×××ר ש×××ר ×××¨× ××× ×©× ××××ר ××××¢ ×× ×ª×× × JSON. ×××¨× ××× × ××ª× ××ר××× ×ת ××ער×ת + ×©× ×¡×× ×¡×§×¨×פ××× ×©× ××¡×¤× ×- PostgreSQL 14 ×××× × × ×ª×× ×× ××§×× × ×× ××ר××, ×××× ×××ש×ת ×× ×¢× ×¡×× ×× ×ª×× ×× + hstore + ××××××¨× ××. +
+ ++ ס××× ×××××× + , שפ×רס×× ×× ×ר×ש×× × ×- PostgreSQL 9.2, ×צ××¢×× ×עת ת×××× ××××××× ×× ×¨×¦×פ×× ×××צע×ת ××× ×¡×ª ×©× ×¡×× × ×ª×× ×× + multirange + ×××××× ×ר×××× ×× ×¨×©×××ת ×ס××רת ×©× ×××××× ×©××× × ××פפ××, ×××פשר×ת ××פת××× ××ת×× ×©×××ת×ת פש×××ת ××תר ××ת×××××ת ×¢× ×¨×¦×¤×× + ××ר×××× ×©× ××××××. ס××× ××××××× ×××§×ר××× ×©× PostgreSQL (ת×ר××××, שע×ת, ×ספר××) ת××××× ××××××× ×ר×××× ×× ××ª× ××ר××× + ס××× × ×ª×× ×× ××ר×× ×ש×××ש ××××××× ×ר××××. +
+ ++ PostgreSQL 14 ×ספק ש×פ×ר ×ש××¢××ª× ×תפ××§× ××¢×××¡× ×¢×××× ××שת×ש×× ×××××ר×× ×¨×××, ××שר ××× ××××× ×צ××× ××××ת ××××ר×ת ×¤× 2 + ××ר×××. ×××××¨× ×× ××ש××× ×ש×פ×ר×× ×××ר×× ×× ×× ×××× ××× ×קס×× ×¢×¥ B ×¢× ××× ×פ×תת × ×¤×××ת ×××× ×קס×× ××××××ת ×¢× + ×××× ×קס×× ××תע××× ×× ×עת×× + קר×××ת + . +
+ ++ PostgreSQL 14 ××× ××¡× ×ת ×××××ת + ש×××ת×ת pipeline + ×××¡× × ×ª×× ×× ×× ×©×××× ×שפר ×ש××¢×ת×ת ×ת ×××צ××¢×× ×××××ר×× ×¢× latency ×××× ×× ××¢×××¡× ×¢×××× ×¢× ×ר×× ×ת×××ת ×§×× ×ת ××× +
+ INSERT/UPDATE/DELETE
+
+ ×××××× ×©×× ×ª××× ×ª ×¦× ××§××, ת×××× ××שת×ש ×××¦× pipeline ×¢× ×× ××¡× × ×ª×× ×× ×¢×ש×××× ×©× PostgreSQL ×××צע×ת ××רסת ××§×× 14 ×× + ×ר×××ר ××§×× ×שר × ×× × ×¢× ×רסת 14 ×©× libpq. +
+ ++ PostgreSQL 14 ×××¢××× ×× ×××××¨× PostgreSQL ××××ר××. + ×עת ש×××ש × + רפ××קצ×× ×××× + , + PostgreSQL ××××× ×עת ×××ר×× ××¨× ×קצ××ת ×שר ×¢×××× ×ת×××× ××× ××××, ×¢× ×תר×× ×ת ××צ××¢×× ×ש××¢×ת××× ×××ש×× ××¨× ×קצ××ת ×××××ת + ×¢× ×× ××××. PostgreSQL 14 ××ס××£ ×× ×ספר ש×פ××¨× ××צ××¢×× ××ר×× ××ער×ת ××¤×¢× ×× ×××××ת ××פע××× ×¨×¤××קצ×× ××××. +
+ +
+ ×¢××פ×ת × ×ª×× ×× ×ר××
+ , ××ש×ש×ת ××¢×××× ×¢× ×¢×××¡× ×¢×××× ××××××× ×¢× ×¤× × PostgreSQL ×××××¨× ××××¢ ××ר××, ×××××ת ×עת ××× ×£ ××§×××××ת ש×××ת×ת ×-
+ PostgreSQL 14. ××××××¨× ××× ×××ש×ת ××××ת ×× ×-
+ postgres_fdw
+ , ×¢××פת ×× ×ª×× ×× ××ר×× ××ת××שקת ×¢× ×ס×× × ×ª×× ×× ××ר×× ×©× PostgreSQL.
+
+ ×× ×סף ×ת×××× ×××§××××××ת ש×××ת×ת, postgres_fdw ××××× ×עת ×××× ×ס × ×ª×× ×× ××××××ת ×××××ת ××××××ת ×ר×ת
+ ×××××× ×××צ×ת ×××××ת ×¢× ××ר×ת
+ IMPORT FOREIGN SCHEMA.
+
+ PostgreSQL 14 ×ר×××× ×ת ש×פ××¨× ×××צ××¢×× ×©×× ××ער×ת
+ vacuuming
+ , ×××× ××פ×××××צ××ת ××פ×תת תק××¨× ××¢×¦× B. ×××××¨× ×× ××ס××¤× ×× "××¦× ××ר××" × vacuum ×שר × ××¢× ××× ××¢ wraparound ×©× ×ספר×
+ ××¨× ×קצ××ת.
+ ANALYZE
+ ×שר ×ש×ש ×××ס××£ × ×ª×× ×× ×¡×××ס×××× ×©× ×ס×× × ×ª×× ××, פ××¢× ×עת ××ר ××תר ××××¤× ×ש××¢××ª× ×
+ PostgreSQL 14 ××©× ×©×פ××¨× ×××צ××¢×× ×©××.
+
+ ××××¡× ×¢××ר ×ער××ת
+ TOAST
+ ××ש×שת ×××ס×× × ×ª×× ×× ×××××× ××תר ××× ××××§×× ×©× ××§×¡× ×× × ×ª×× ×× ××××××ר×××, ×¢×ש××
+ × ××ª× ×עת
+ ×××××ר.
+ PostgreSQL 14 ××ס××£ ×××סת LZ4 ××¢××××ת TOAST ת×× ×©×××¨× ×¢× ×ª×××× ××××סתpglz.
+
+ PostgreSQL 14 ××ס××¤× ×ספר ת××× ×ת ××ש×ת ש×ס×××¢× ×× ×××ר ××תצפ××ת, ×××× ×××××ת
+ ××¢×§×× ××ר פק××ת COPY
+ ××תק×××ת×
+ ,
+ ×× ×ª×¨ פע×××ת WAL
+ ×
+ ××ס××£
+ ס×××ס×××§× ×¢× ×¡××××× ×©× ×¨×¤××קצ××.
+ ×פע×ת
+ compute_query_id
+ ××פשרת ×× ××¢×§×× ××ר ש××××ª× ××××¤× ×××××× ×××צע×ת ×ספר ת××× ×ת ×©× PostgreSQL, ××××
+ pg_stat_activity,
+ EXPLAIN VERBOSE
+ ××¢×× ×¨××× ××ר××.
+
+ ת×× ×× ×××צ××¢ ש×××ת×ת × ×× ×× ×ש×פ×ר×× ×- PostgreSQL 14. ×××××¨× ×× ××××ת ×ספר ש×פ×ר×× ×ת×××ת ×××§×××××ת ×ש×××ת×ת ש×
+ PostgreSQL, ×××× ××צ××¢×× ××××× ××תר ×©× ×¡×¨××§×ת רצ×פ×ת ××§×××××ת, ×××××ת
+ PL/pgSQL
+ ××צע ש×××ת×ת ××§××××ת ×עת ש×××ש ×פק×××
+ RETURN QUERY,
+ ×××פשרת
+ REFRESH MATERIALIZED VIEW
+ ××צע ש×××ת×ת ××§×××××ת. ×× ×סף, ש×××ת×ת ××שת×ש×ת ×××××× nested loop עש×××ת ×ר××ת ×תר×× ×ת ××צ××¢×× ×××צע×ת ××××× × ×סף
+ ש×ת××סף ×- PostgreSQL 14.
+
+ × ××ª× ×עת ×- PostgreSQL 14 ××שת×ש ×- + ס×××ס×××§× ××ר××ת + ××××××××. ×× ×סף, + פ×× ×§×¦××ת ×××× ×ת + ×××××ת ×עת ××פ××§ ת××¢×ת ××××× ×× ×צ××ר××, ת××× × ×©××צ×× ×- + PostgreSQL 13 +
+ ++ פר×צ×××¨× ×××××¡× ×ª + , ×××פשר×ת ש×××× ×××¨× ××קצ××ת ×ת×× ×§××, ×××××ת ×עת ×××××ר × ×ª×× ×× ×××צע×ת פר××ר×× 'OUT'. +
+ +
+ PostgreSQL 14 ×צ××× ×ת ×××××ת ×××שר ××ת××ת ××× ××ר××× ×ס××× ×××צע×ת ×פ×× ×§×¦××
+ date_bin.
+ ×××××¨× ×× ×× ××ס××¤× ×ת ת××××ת × SQL ×¢×´×
+ SEARCH
+ ×
+ CYCLE.
+ ×שר ש××¢××¨× ×¢× ×ס××¨× ×××××× ××××ר×× ×¢××ר רק×רס×× ×
+ common table expressions.
+
+ PostgreSQL 14 ××§× ××קצ×ת ××שת×ש×× ×רש××ת ×קר××× ×××ת××× ×××× ××××××ת, views ×ס××××ת ×××צע×ת
+ pg_read_all_data
+ ×
+ pg_write_all_data
+ תפק×××× ××××ר×× ×ר×ש.
+
+
+ ×× ×סף, ×××××¨× ×× ××פ×ת ×ת××× ××ª×§× ×©× ×ער×ת × ×××× ×¡×ס×××ת ×××××ת
+ SCRAM-SHA-256
+ × ×ר×רת ××××× ×××ª×§× ×ת ××ש×ת ×©× PostgreSQL.
+
+ PostgreSQL + ××× ××¡× × ×ª×× ×× ××§×× ×¤×ª×× ××תק×× ×××תר ××¢×××, ×¢× ×§×××× ××××××ת ×©× ×××¤× ×שת×ש××, ת×ר×××, ××ר×ת ××ר××× ××. ×פר×××§× + PostgreSQL × ×× × ×¢× ××¢× 30 ×©× ×ת ×× ×ס×, ××× ×××× ××רס××ת ×§××פ××¨× ××, ×רק××, ×××ש×× ×××ª×¤×ª× ×¢× ×§×¦× ××× ×ª×ר×ת. ער×ת ×ת××× ×ת + ××ש××ת ×©× PostgreSQL ×× ×¨×§ ת×××ת ×ער××ת × ×ª×× ×× ×§× ××× ××ת ××××××ת, ××× ×¢××× ×¢×××× ×××פ××× ×× ×©× ×ס×× × ×ª×× ×× ×תק×××× + ,×ר×××, ××××× ××צ×××ת. + תר×××× ××××¢× ××¢×ת×× ×ת +
+ +PostgreSQL Global Development Groupã¯æ¬æ¥ãä¸çã§æãé«åº¦ãªãªã¼ãã³ã½ã¼ã¹ãã¼ã¿ãã¼ã¹ã®ææ°ãã¼ã¸ã§ã³ã§ããPostgreSQL 14ã®ãªãªã¼ã¹ãçºè¡¨ãã¾ããã
+ +PostgreSQL14ã«ã¯ãéçºè ã管çè ããã¼ã¿ããã¯ã¢ããã¢ããªã±ã¼ã·ã§ã³ãé åããã®ã«å½¹ç«ã¤ãã¾ãã¾ãªæ©è½ãç¨æããã¦ãã¾ããPostgreSQLã¯ãè¤éãªãã¼ã¿åã«å¯¾ãã¦é©æ°çãªæ©è½ã追å ãç¶ãã¦ãã¾ãã +ããã«ã¯ãJSONã¸ã®ãã便å©ãªã¢ã¯ã»ã¹ããé£ç¶ãã¦ããªããã¼ã¿ç¯å²ã®ãµãã¼ããªã©ãå«ã¾ãã¾ããä»åã®ææ°ãªãªã¼ã¹ã§ã¯ãæ¥ç¶ã®åæå®è¡æ§ã大鿏ãè¾¼ã¿ã¯ã¼ã¯ãã¼ããã¯ã¨ãªã®ä¸¦åæ§ãããã³è«çã¬ããªã±ã¼ã·ã§ã³ã®åä¸ã«ä¼´ããPostgreSQLã®ãã¤ããã©ã¼ãã³ã¹ããã³åæ£ãã¼ã¿ã¯ã¼ã¯ãã¼ãã®æ¹åå¾åãããã«å¼·åããã¦ãã¾ãã
+ +PostgreSQLã³ã¢ãã¼ã ã®ã¡ã³ãã¼ã§ããMagnus Haganderæ°ã¯æ¬¡ã®ããã«è¿°ã¹ã¦ãã¾ãããPostgreSQLã®ãã®ææ°ãªãªã¼ã¹ã¯ãã¦ã¼ã¶ã®ãã¼ã¿ã¯ã¼ã¯ãã¼ããå¤§è¦æ¨¡ã«ç®¡çããè½åãåä¸ãããå¯è¦³æ¸¬æ§ãé«ããã¢ããªã±ã¼ã·ã§ã³éçºè ãæ¯æ´ããæ°æ©è½ãå«ãã§ãã¾ããã +ãPostgreSQL14ã¯ãã°ãã¼ãã«ãªPostgreSQLã³ãã¥ããã£ããã£ã¼ãããã¯ã«å¯¾å¿ãã大å°ãã¾ãã¾ãªçµç¹ãå°å ¥ãã驿°çãªãã¼ã¿ãã¼ã¹ã½ããã¦ã§ã¢ãæä¾ãç¶ãã¦ãããã¨ã示ããã®ã§ããã
+ +驿°çãªãã¼ã¿ç®¡çã·ã¹ãã ã§ããPostgreSQLã¯ãä¿¡é ¼æ§ã¨å ç¢æ§ã§ç¥ããã¦ãããä¸çä¸ã®éçºè ã³ãã¥ããã£ã«ãã25年以ä¸ã«ããããªã¼ãã³ã½ã¼ã¹éçºã®æ©æµãåãã¦ãããããããè¦æ¨¡ã®çµç¹ã«å¥½ã¾ãããªã¼ãã³ã½ã¼ã¹ãªã¬ã¼ã·ã§ãã«ãã¼ã¿ãã¼ã¹ã¨ãªã£ã¦ãã¾ãã
+ +PostgreSQLã¯PostgreSQL9.2ã®ãªãªã¼ã¹ä»¥æ¥ãJSONãã¼ã¿ã®æä½ããµãã¼ããã¦ãã¾ããããå¤ã®åå¾ã«ã¯åºæã®æ§æã使ç¨ããã¦ãã¾ãããPostgreSQL14ã§ã¯ãæ·»åã使ç¨ãã¦JSONãã¼ã¿ã«ã¢ã¯ã»ã¹ã§ããããã«ãªãã¾ãããä¾ãã°ããSELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];ãã®ãããªã¯ã¨ãªãåä½ããããã«ãªãã¾ããã +ããã«ãããPostgreSQLã¯ãJSONãã¼ã¿ããæ å ±ãåå¾ããããã«ä¸è¬çã«èªèããã¦ããæ§æã¨æ´åãã¾ããPostgreSQL14ã«è¿½å ãããæ·»åãã¬ã¼ã ã¯ã¼ã¯ã¯ãä¸è¬ã«ä»ã®ãã¹ãããããã¼ã¿æ§é ã«æ¡å¼µãããã¨ãã§ãããã®ãªãªã¼ã¹ã§ã¯ãhstoreããã¼ã¿åã«ãé©ç¨ããã¾ãã
+ +åããPostgreSQL9.2ã§æåã«ãªãªã¼ã¹ãããç¯å²åã¯ãããã«ãç¯å²ããã¼ã¿åã®å°å ¥ã«ãããé飿¥ç¯å²ããµãã¼ãããããã«ãªãã¾ããããã«ãç¯å²ã¯ãéè¤ããªãç¯å²ã®é åºä»ããªã¹ãã§ããããã«ãããéçºè ã¯ãç¯å²ã®è¤éãªã·ã¼ã±ã³ã¹ãå¦çããããã®ããåç´ãªååãã使ã§ãã¾ããPostgreSQLåºæã®ç¯å²å(æ¥ä»ãæå»ãæ°å¤)ã¯ãã«ãç¯å²ããµãã¼ããã¦ããããã®ä»ã®ãã¼ã¿åãæ¡å¼µãã¦ãã«ãã¬ã³ã¸ã®ãµãã¼ãã使ç¨ã§ãã¾ãã
+ +PostgreSQL14ã§ã¯ãå¤ãã®æ¥ç¶ã使ç¨ããã¯ã¼ã¯ãã¼ãã®ã¹ã«ã¼ããããå¤§å¹ ã«åä¸ãããã³ããã¼ã¯ã«ãã£ã¦ã¯2åã®é«éåã示ããã¦ãã¾ãã +ãã®ãªãªã¼ã¹ã§ã¯ãé »ç¹ã«æ´æ°ãããã¤ã³ããã¯ã¹ãæã¤ãã¼ãã«ã®ã¤ã³ããã¯ã¹ã®è¨å¼µã軽æ¸ãããã¨ã«ãããB-treeã¤ã³ããã¯ã¹ã®ç®¡çã«å¯¾ããæè¿ã®æ¹åãç¶ç¶ããã¦ãã¾ãã
+ +PostgreSQL14ã§ã¯åãåããããã¤ãã©ã¤ã³åããæ©è½ãå°å ¥ããã¾ããã +ããã«ãããé å»¶ã®å¤§ããæ¥ç¶ãå¤ãã®å°ããªæ¸ãè¾¼ã¿(INSERT/UPDATE/DELETE)æä½ãä¼´ãã¯ã¼ã¯ãã¼ãã®ããã©ã¼ãã³ã¹ãå¤§å¹ ã«åä¸ãã¾ãã +ããã¯ã¯ã©ã¤ã¢ã³ãå´ã®æ©è½ã§ãããããææ°ã®PostgreSQLãã¼ã¿ãã¼ã¹ã§ããã¼ã¸ã§ã³14ã¯ã©ã¤ã¢ã³ãã¾ãã¯ãã¼ã¸ã§ã³14ã®libpqã§ä½æãããã¯ã©ã¤ã¢ã³ããã©ã¤ãã使ã£ã¦ããã¤ãã©ã¤ã³ã¢ã¼ãã使ç¨ã§ãã¾ãã
+ +忣PostgreSQLãã¼ã¿ãã¼ã¹ã¯PostgreSQL14ããæ©æµãåãããã¨ãã§ãã¾ããè«çã¬ããªã±ã¼ã·ã§ã³ã使ç¨ããå ´åãPostgreSQLã¯é²è¡ä¸ã®ãã©ã³ã¶ã¯ã·ã§ã³ããµãã¹ã¯ã©ã¤ãã«ã¹ããªã¼ãã³ã°ã§ããããã«ãªãã¾ãããããã«ããããµãã¹ã¯ã©ã¤ãã«å¤§è¦æ¨¡ãªãã©ã³ã¶ã¯ã·ã§ã³ãé©ç¨ããéã®ããã©ã¼ãã³ã¹ãå¤§å¹ ã«åä¸ãã¾ãã +PostgreSQL14ã§ã¯ãè«çã¬ããªã±ã¼ã·ã§ã³ãå®è¡ããè«çãã³ã¼ãã»ã·ã¹ãã ã«å¯¾ãã¦ãä»ã«ãããã¤ãã®ããã©ã¼ãã³ã¹æ¡å¼µã追å ããã¦ãã¾ãã
+ +PostgreSQLããã³ä»ã®ãã¼ã¿ãã¼ã¹éã®é£åã¯ã¼ã¯ãã¼ããå¦çããããã«ä½¿ç¨ãããå¤é¨ãã¼ã¿ã©ããã¼ã¯ãPostgreSQL14ã®åãåãã䏦忧ãå©ç¨ã§ããããã«ãªãã¾ããããã®ãªãªã¼ã¹ã§ã¯ãä»ã®PostgreSQLãã¼ã¿ãã¼ã¹ã¨ã¤ã³ã¿ãã§ã¼ã¹ããå¤é¨ãã¼ã¿ã©ããã¼ã§ãããpostgres_fdwãã§ãã®æ©è½ãå®è£ ãã¦ãã¾ãã
+ +ãpostgres_fdwãã§ã¯ãã¯ã¨ãªã®ä¸¦åå¦çã®ãµãã¼ãã«å ãã¦ãå¤é¨ãã¼ãã«ã«ãã¼ã¿ã䏿¬æ¿å ¥ãããããIMPORT FOREIGN SCHEMAãæå®ã使ç¨ãã¦ãã¼ãã«ãã¼ãã£ã·ã§ã³ãã¤ã³ãã¼ãã§ããããã«ãªãã¾ããã
+ +PostgreSQL14ã§ã¯ãB-Treesã«ãããªã¼ãã¼ãããã忏ããããã®æé©åãå«ããããã©ã¼ãã³ã¹ã®åä¸ãããã¥ã¼ã ã·ã¹ãã ã«ã¾ã§æ¡å¼µããã¾ããã +ãã®ãªãªã¼ã¹ã§ã¯ããã©ã³ã¶ã¯ã·ã§ã³IDã®ã©ããã¢ã©ã¦ã³ãã鲿¢ããããã«è¨è¨ãããããã¥ã¼ã ãç·æ¥ã¢ã¼ããã追å ããã¾ããã +ãã¼ã¿ãã¼ã¹çµ±è¨ãåéããããã«ä½¿ç¨ããããANALYZEãã¯ãç¬èªã®ããã©ã¼ãã³ã¹æ¹åã«ãããPostgreSQL14ã§å¤§å¹ ã«é«éã«åä½ããããã«ãªãã¾ããã
+ +PostgreSQLã®TOASTã·ã¹ãã ç¨ã®å§ç¸®ã¯ãããã¹ããã¸ãªã¡ããªã®ãããã¯ã®ãããªå¤§ããªãã¼ã¿ãæ ¼ç´ããããã«ä½¿ç¨ããã¾ããããããè¨å®ã§ããããã«ãªãã¾ããã +PostgreSQL14ã§TOASTåç¨ã«LZ4å§ç¸®ã追å ããã¦ãã¾ããããpglzãå§ç¸®ã®ãµãã¼ãã¯ç¶æããã¦ãã¾ãã
+ +PostgreSQL 14 adds several new features to help with monitoring and
+observability, including the ability to track the progress of COPY commands,
+write-ahead-log (WAL) activity,
+and statistics on replication slots.
+Enabling compute_query_id
+lets you uniquely track a query through several PostgreSQL features, including
+pg_stat_activity,
+EXPLAIN VERBOSE, and
+more.
PostgreSQL14ã«ã¯ããCOPYãã³ãã³ãã®é²è¡ç¶æ³ã追跡ãããWrite Ahead-log(WAL)ã¢ã¯ãã£ããã£ãã¬ããªã±ã¼ã·ã§ã³ã¹ãããã«é¢ããçµ±è¨æ å ±ãªã©ãç£è¦ã¨å¯è¦³æ¸¬æ§ãæ¯æ´ããããã¤ãã®æ°æ©è½ã追å ããã¦ãã¾ãã +ãcompute_query_idããæå¹ã«ããã¨ããpg_stat_activityãããEXPLAIN VERBOSEããªã©ãPostgreSQLã®ããã¤ãã®æ©è½ã使ã£ã¦ã¯ã¨ãªã䏿ã«è¿½è·¡ãããã¨ãã§ãã¾ãã
+ +ã¯ã¨ãªã®è¨ç»ã¨å®è¡ã«ã¯ãPostgreSQL14ã®æ¡å¼µã«ããå©ç¹ãããã¾ãã +ãã®ãªãªã¼ã¹ã§ã¯ãPostgreSQLã®ã¯ã¨ãªä¸¦åå¦çã®ãµãã¼ãã«ããã¤ãã®æ¹åãå ãããã¾ããã +å ·ä½çã«ã¯ã並åã·ã¼ã±ã³ã·ã£ã«ã¹ãã£ã³ã®ããã©ã¼ãã³ã¹ã®åä¸ããPL/pgSQLãããRETURN QUERYãã³ãã³ãã使ç¨ãã¦ä¸¦åã¯ã¨ãªãå®è¡ããæ©è½ããREFRESH MATERIALIZED VIEWãã並åã¯ã¨ãªãå®è¡ããæ©è½ãªã©ã§ãã +ããã«ããã¹ããããã«ã¼ãçµåã使ç¨ããã¯ã¨ãªã§ã¯ãPostgreSQL14ã§è¿½å ããã追å ã®ãã£ãã·ã¥ã«ãã£ã¦ããã©ã¼ãã³ã¹ã®å©ç¹ãå¾ãããå¯è½æ§ãããã¾ãã
+ +PostgreSQL14ã§ã¯ãæ¡å¼µçµ±è¨ã«å¼ã使ããããã«ãªãã¾ããã +å ãã¦ãã¦ã£ã³ãã¦é¢æ°ããPostgreSQL13ã§å°å ¥ãããæ©è½ã§ããã¤ã³ã¯ãªã¡ã³ã¿ã«ã½ã¼ãã®æ©æµãåããããããã«ãªãã¾ããã
+ +ã³ã¼ãã®ãããã¯ã§ãã©ã³ã¶ã¯ã·ã§ã³å¶å¾¡ãã§ãããã¹ãã¢ãããã·ã¼ã¸ã£ã¯ããOUTããã©ã¡ã¼ã¿ã§ãã¼ã¿ãè¿ããããã«ãªãã¾ããã
+ +PostgreSQL14ã§ã¯ããdate_binã颿°ã使ç¨ãã¦ãç¹å®ã®ééã«ã¿ã¤ã ã¹ã¿ã³ããbinãã(大箱ã«å ¥ãã)ããããã¯ãæãããæ©è½ãå°å ¥ããã¦ãã¾ãã +ãã®ãªãªã¼ã¹ã§ã¯ããSEARCHãããã³ãCYCLEãå¥ã«æºæ ããSQLã追å ããã¦ãããå帰çãªå ±éãã¼ãã«å¼ã®é åºä»ãã¨ãµã¤ã¯ã«æ¤åºã«å½¹ç«ã¡ã¾ãã
+ +PostgreSQL14ã§ã¯ããpg_read_all_dataãã¨ãpg_write_all_dataãäºåå®ç¾©ããããã¼ã«ã使ç¨ãã¦ããã¼ãã«ããã¥ã¼ãã¹ãã¼ãä¸ã®ã¦ã¼ã¶ã«å¯¾ãã¦èªã¿åãå°ç¨ã¨æ¸ãè¾¼ã¿å°ç¨ã®æ¨©éãå²ãå½ã¦ããã¨ãã§ãã¾ãã +ããã«ä»åã®ãªãªã¼ã¹ã§ã¯ãæ¨æºã«æºæ ãããSCRAM-SHA-256ãã®ãã¹ã¯ã¼ã管çã¨èªè¨¼ã·ã¹ãã ãæ°ããPostgreSQLã¤ã³ã¹ã¿ã³ã¹ã®ããã©ã«ãã«ãªãã¾ããã
+ +PostgreSQLã¯ä¸çã§æãå é²çãªãªã¼ãã³ã½ã¼ã¹ãã¼ã¿ãã¼ã¹ã§ãããæ°å人ã®ã¦ã¼ã¶ã¼ãè²¢ç®è ã伿¥ãçµç¹ãããªãã°ãã¼ãã«ã³ãã¥ããã£ãåå¨ãã¾ããPostgreSQLã¯ãã«ãªãã©ã«ãã¢å¤§å¦ãã¼ã¯ã¬ã¼æ ¡ã§å§ã¾ã£ã30年以ä¸ã®ã¨ã³ã¸ãã¢ãªã³ã°ã®ä¸ã«æ§ç¯ããããã®ã§ããããã®éçºãã¼ã¹ã¯ä»ã«é¡ãè¦ã¾ãããPostgreSQLã®æçããæ©è½ã»ããã¯æä¸ã®ãããã©ã¤ã¨ã¿ãªãªãã¼ã¿ãã¼ã¹ã·ã¹ãã ã«å¹æµããã ãã§ãªããå é²çãªãã¼ã¿ãã¼ã¹æ©è½ãæ¡å¼µæ§ãã»ãã¥ãªãã£ãããã³å®å®æ§ã«ããã¦ããããä¸åã£ã¦ããã¾ãã
+ +ì¤ë, PostgreSQL ê¸ë¡ë² ê°ë° 그룹ì ì¸ììì +ê°ì¥ ì§ë³´ì ì¸ ê³µê° ìì¤ ë°ì´í°ë² ì´ì¤ì +ê°ì¥ ìµì ë²ì ì¸ PostgreSQL 14ê° +ì¶ìëììì ì립ëë¤.
+ +PostgreSQL 14ë ê°ë°ìì ê´ë¦¬ìê° ë°ì´í° ê¸°ë° ìì©íë¡ê·¸ë¨ì ë°°í¬íë ë° +ëìì´ ëë ì¬ë¬ 기ë¥ì ì ê³µí©ëë¤. PostgreSQLì JSON ìë£ë¥¼ ë ì½ê² +ë¤ë£¨ë ë°©ë²ê³¼ ë²ì ìë£íìì ë¹ì°ìì ì¸ ë²ì ê²ìì ì§ìí´ì, ë³µí© ìë£í +ì²ë¦¬ì íì ì ê³ì íê³ ììµëë¤. ì´ ìµì ë°°í¬íì ëì ì ì ì²ë¦¬, +ë§ì ì°ê¸° ìì ì²ë¦¬, 쿼리 ë³ë ¬ ì²ë¦¬ ë° ë ¼ë¦¬ ë³µì 기ë¥ì ê°ì íìµëë¤. +ì´ë ê³ ì±ë¥ ë° ëì©ë ë¶ì° ë°ì´í° ì²ë¦¬ë¥¼ ì§í¥íë PostgreSQL ê°ë° ë°©í¥ì±ì +ë°ë¥¸ ê²ì ëë¤.
+ +PostgreSQL ì½ì´ í ìì ë§ëì¤ íê°ë Magnus Haganderë ë¤ìê³¼ ê°ì´ ë§íìµëë¤. +"PostgreSQL ì´ë² ìµì 릴리ì¦ë ëê·ëª¨ ë°ì´í°ë¥¼ ê´ë¦¬íëë° ì¬ì©ì ë¥ë ¥ì +í¥ììí¤ê³ , 모ëí°ë§ 기ë¥ì´ í¥ìëìê³ , ìì© íë¡ê·¸ë¨ ê°ë°ìë¤ì ëë +ì 기ë¥ë¤ì´ í¬í¨ëììµëë¤. PostgreSQL 14ë í¼ëë°±ì ì²ë¦¬íê³ , +í¬ê³ ìì ì¡°ì§ìì ë°°í¬ëë íì ì ì¸ ë°ì´í°ë² ì´ì¤ ìíí¸ì¨ì´ë¥¼ +ì§ìì ì¼ë¡ ì ê³µíë ê¸ë¡ë² PostgreSQL 커뮤ëí°ì íì ì¼ë¡ ë§ë¤ì´ì§ +ì°ì¶ë¬¼ì ëë¤."
+ +ì 뢰ì±ê³¼ ê²¬ê³ ì±ì¼ë¡ ì ëª í íì ì ì¸ ë°ì´í° ê´ë¦¬ ìì¤í ì¸ +PostgreSQLì ê¸ë¡ë² ê°ë°ì 커뮤ëí°ìì +25ë ì´ì ê³µê° ìì¤ë¡ ê°ë°íê³ ììµëë¤. ì´ë ê² í´ì 모ë ê·ëª¨ì ì¡°ì§ìì +ì¬ì©íë ê³µê° ìì¤ ê´ê³í ë°ì´í°ë² ì´ì¤ê° ëììµëë¤.
+ +PostgreSQLì 9.2 ë²ì ë¶í° JSON
+ìë£ ì²ë¦¬ë¥¼ ì§ìíì§ë§, ê·¸ ìì ìë ìë£ë¥¼ ì°¾ì ë
+PostgreSQL ê³ ì 문ë²ì ì¬ì©íìµëë¤.
+PostgreSQL 14ììë
+SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];
+ì´ë ê² ìë¸ì¤í¬ë¦½í¸ë¥¼ ì´ì©í JSON ìë£ ì°¾ê¸°ë¥¼
+ì§ìí©ëë¤. ì´ ë¬¸ë²ì ìì¦ ë²ì©ì ì¼ë¡ ì¬ì©ëë ë°©ë²ì¼ë¡
+PostgreSQLì ì´ ë¬¸ë²ì ì´ ë²ì ìì ëì
íìµëë¤. ì´ ìë¸ì¤í¬ë¦½í¸ 기ë²ì
+ë¤ë¥¸ ì¤ì²©ë ìë£ êµ¬ì¡°ë¡ ë ìë£íì ëí´ìë ì¼ë°ì ì¼ë¡ íì¥ ê°ë¥í©ëë¤.
+PostgreSQL 14ììë hstore
+ìë£íììë ì´ ìë¸ì¤í¬ë¦½í¸ë¥¼ ì§ì í´ì ìë£ë¥¼ ì°¾ì ì ììµëë¤.
ë²ì ìë£í ëí +9.2 ë²ì ìì ì²ì ëì ëìëë°, ì´ì ë¹ì°ìì ì¸ ë²ì ê²ìë ê°ë¥í´ì¡ìµëë¤. +ì´ ë¶ë¶ì ëí´ìë "ë¤ì¤ë²ì" +ìë£í ë¶ë¶ìì ìì¸í ìê°íê³ ììµëë¤. +ë¤ì¤ë²ìë ê²¹ì¹ì§ ìë ë²ìì ì ë ¬ë 목ë¡ì¼ë¡, ê°ë°ìê° +ë³µì¡í ë²ì ëì´ë¤ì ì²ë¦¬í ë ë ê°ë¨í 쿼리를 ìì±í ì ììµëë¤. PostgreSQL +ê³ ì ë²ì ìë£í(ë ì§, ìê°, ì«ì)ì ë¤ì¤ ë²ì를 ì§ìíê³ ë¤ë¥¸ ìë£íë¤ë ë¤ì¤ ë²ì ê²ìì í ì +ìëë¡ íì¥ê°ë¥í©ëë¤.
+ +PostgreSQL 14ë ë§ì ì°ê²°ì ì¬ì©í ê²½ì° ê·¸ ì±ë¥ì´ ì¼ë¶ ì±ë¥ í ì¤í¸ììë +ëë°° ë¹ ë¥¸ ìëê° ëì¬ ì ëë¡ ëì ëê² ì¢ìì¡ìµëë¤. ìë 릴리ì¦ì ì´ì´ +(13 ë²ì ìì ì¸ë±ì¤ ì¤ë³µ í¤ì ëí ê³µê° ì ì½ ê¸°ë²ì´ ëì ëìë¤. - ì®ê¸´ì´) +ì¦ì ì ë°ì´í¸ë¡ ì길 ì ìë B-í¸ë¦¬ ì¸ë±ì¤ ë¶í림 문ì 를 ê°ì íìµëë¤. +ìì¸í ì¤ëª ì ë¹ë²íê² ë³ê²½ ëë ì¸ë±ì¤ +í목ì 참조íììì¤.
+ +PostgreSQL 14ììë ë°ì´í°ë² ì´ì¤ë¥¼ ì¬ì©í ë,
+íì´íë¼ì¸ 쿼리 모ë 기ë¥ì´
+ìë¡ê² ì¶ê°ëììµëë¤. ì´ ê¸°ë¥ ëì
ì¼ë¡ ìëµ ìëê° ë린 ì°ê²° íê²½ì´ë,
+ìì ì°ê¸° ìì
(INSERT/UPDATE/DELETE)ì´ì§ë§ ì´ê²ì´ ì주 ì¦ê² ë°ìíë
+íê²½ìì ì±ë¥ì´ íì íê² ì¢ìì¡ìµëë¤. ì´ ê¸°ë¥ì í´ë¼ì´ì¸í¸ 측 기ë¥ì
ëë¤.
+ì´ ê¸°ë¥ì ì¬ì©íë ¤ë©´, 14 ë²ì ìë²ì í´ë¼ì´ì¸í¸
+ëë¼ì´ë²ë¥¼ ì¬ì©í´ì¼í©ëë¤. ë°°í¬íì í¬í¨ë
+libpq ëë¼ì´ë¸ë
+ì´ ëª¨ë를 ì§ìí©ëë¤.
PostgreSQL 14 ë²ì ì ë¶ì° ë°ì´í°ë² ì´ì¤ íê²½ììë ì±ë¥ì ê°ì íìµëë¤. +ë ¼ë¦¬ ë³µì +기ë¥ì ì¬ì©í ë, ì´ì 구ë ìë² ìª½ì¼ë¡ í¸ëì ¹ì ê³¼ì ì ë³´ë +ì ë¬í©ëë¤. ì´ë ê² í´ì, í° í¸ëìì ì ëí 구ë ìë²ì ë°ìë +ë¹ ë¥´ê² ì§íë©ëë¤. PostgreSQL 14ììë ë ¼ë¦¬ ë³µì ì ê·¼ê°ì´ ëë +ë ¼ë¦¬ì ëì½ë© 기ë¥ì 기í ì±ë¥ë¤ë ì¬ë¿ ê°ì ëììµëë¤.
+ +ë¤ë¥¸ PostgreSQL ë°ì´í°ë² ì´ì¤ ìë£ë¥¼ íì©í ì ìë
+ì¸ë¶ ìë£ ì¸ê°ìì
+ì´ì ë³ë ¬ 쿼리를 ì§ìí©ëë¤. PostgreSQL 14 ë°°í¬íì ë´ì¥ë
+postgres_fdw
+íì¥ ëª¨ëì ì´ ê¸°ë¥ì 구ííìµëë¤.
ë³ë ¬ 쿼리 ì§ìì ëí´ì ì¶ê°ì ì¼ë¡, postgres_fdw íì¥ ëª¨ëì
+ì¸ë¶ í
ì´ë¸ì ëë ì¼ê´ ìë£ INSERT ìì
ììë ë³ë ¬ ì²ë¦¬ê° ê°ë¥í©ëë¤.
+ëí IMPORT FOREIGN SCHEMA
+ìì
ì´ ëì í
ì´ë¸ì´ íí°ì
í
ì´ë¸ì¸ ê²½ì° ë³ë ¬ ì¿¼ë¦¬ë¡ ì²ë¦¬í ì ììµëë¤.
PostgreSQL 14ììë í
ì´ë¸ ì²ì
+ìì
ì ì±ë¥ë ê°ì íìµëë¤. B-í¸ë¦¬ ì¸ë±ì¤ ì 리 ìì
ì´ ë³´ë¤ ìµì í ëììµëë¤.
+ì´ ë²ì ììë VACUUM ìì
ì í ë "ê¸´ê¸ ëª¨ë"를 ì¶ê° íìµëë¤.
+ì´ ëª¨ëë í¸ëìì
ID 겹침 ë°©ì§ ìì
ì ë³´ë¤ ì ì°íê² í ì ììµëë¤.
+ë°ì´í°ë² ì´ì¤ íµê³ ì 보를 ê°±ì íë
+ANALYZE ìì
ë
+ì´ì ë²ì ë³´ë¤ ë¹¨ë¼ì¡ìµëë¤.
긴 문ìì´ì´ë, ê³µê° ì ë³´ ê°ì´ ìë£ëì´ í° ê²½ì°, ê·¸ ìë£ë¥¼ +PostgreSQL TOAST +기ë²ì¼ë¡ ì²ë¦¬íëë°, ì´ ë ìë£ë¥¼ ìì¶íë ë°©ìì¼ë¡ +LZ4 ë°©ìì ì§ìí©ëë¤. ì´ ìë¡ì´ ì¤ì ì¼ë¡ +ì¬ì©ìê° ì§ì í ì ììµëë¤. 기존ì ìì¶ ë°©ìì¸ 'pglz' ë°©ìë ì¬ì í ì§ìí©ëë¤.
+ +PostgreSQL 14ììë 모ëí°ë§ê³¼ ê´ì°° ê°ë¥ì±ì ëì´ë ì¬ë¬
+ì 기ë¥ë¤ì´ ì¶ê°ëììµëë¤. COPY ëª
ë ¹ì ì¤í ìí©,
+WAL ìì
ìí©,
+ë³µì ì¬ë¡¯ íµê³ ë·°ê° ì¶ê°ëìê³ ,
+pg_stat_activity,
+EXPLAIN VERBOSE ë± ì¬ë¬ ê³³ìì
+compute_query_id ê°ì
+ë³¼ ì ììµëë¤.
PostgreSQL 14ììë 쿼리 ì¤í ê³í, ì¤í ì±ë¥ì´ ì¢ìì¡ìµëë¤.
+ìë£ ì ì²´ ìì°¨ íìíë ë¶ë¶ì í¬í¨í, 쿼리 ë³ë ¬ ì²ë¦¬ ê´ë ¨í´ì ì´ì ë²ì ë³´ë¤ ë ê°ì íì¼ë©°,
+PL/pgSQLìì
+RETURN QUERY 구문ìì ì¬ì©ëë ì¿¼ë¦¬ê° ë³ë ¬ ì¿¼ë¦¬ë¡ ì¤íë ì ìì¼ë©°,
+REFRESH MATERIALIZED VIEW
+ëª
ë ¹ ì¤íììë ë³ë ¬ ì²ë¦¬ë¥¼ í©ëë¤. ì¶ê°ë¡, nested loop join ìì
ì,
+ì¶ê° ìºì± 기ë¥ì ì¶ê°í´ì ì±ë¥ì ëíìµëë¤.
íì¥ë íµê³ì ë³´ +ìì ì ê°ì í´ì ì¢ ë ì¬ì¸íê² íµê³ ì 보를 ìì§í ì ìì¼ë©°(ì®ê¸´ì´ ìì), ì¶ê°ë¡, +PostgreSQL 13ìì +ì²ì ìê°í +ìëì° í¨ì ì¤í ì +ì¦ë¶ ì ë ¬íë 기ë¥ì´ ë ê°ì ëììµëë¤.
+ +íë¡ìì ¸ìì
+ë§¤ê° ë³ìì OUT ìì±ì ì§ì í´ì ê²°ê³¼ê°ì ë°íí ì ììµëë¤.
PostgreSQL 14ììë
+date_bin
+í¨ìê° ìë¡ ì¶ê° ëììµëë¤.
+ëí, ì¬ê· í¸ì¶ CTE, common table expressions
+쿼리ìì ìë£ ì ë ¬ì ì§ì í ì ìë,
+SEARCH
+, CYCLE
+êµ¬ë¬¸ì´ ì¶ê°ëììµëë¤.
미리 ì ìë 롤ë¡
+pg_read_all_data, pg_write_all_data ë¡¤ì´ ì¶ê° ëììµëë¤.
+ì½ê¸° ì°ê¸° ìí ì ì§ì íëë° ì¢ ë í¸í´ì¡ìµëë¤.
ì¶ê°ë¡, PostgreSQL 14ììë ì´ì
+íì¤ ì¤ì SCRAM-SHA-256 ë¹ë°ë²í¸
+ê´ë¦¬ ë° ì¸ì¦ì 기본ê°ì¼ë¡ í©ëë¤.
PostgreSQLì ìì² ëª ì ì¬ì©ì, ê³µíì, íì¬ +ë° ì¡°ì§ì ë²ì¸ê³ì 커뮤ëí°ê° ì¬ì©, ê°ë°íë ì¸ê³ìì ê°ì¥ ì§ë³´ì ì¸ ê³µê° ìì¤ +ë°ì´í°ë² ì´ì¤ì ëë¤. PostgreSQL íë¡ì í¸ë ìºë¦¬í¬ëì ë²í´ë¦¬ ëíìì ììíì¬ +30ë ì´ ëë ê³µíì 기ë°ì¼ë¡ ë¹ ë¥¸ ìëë¡ ê³ì ê°ë°ëê³ ììµëë¤. PostgreSQLì +ìì±ë ëì 기ë¥ë¤ì ìì© ë°ì´í°ë² ì´ì¤ ìì¤í ê³¼ ê±°ì ê°ì¼ë©°, íì¥ì±, ë³´ì ë° +ìì ì± ì¸¡ë©´ì í ë° ìì 기ë¥ë¤ì ë ë°ì´ë©ëë¤.
+ +ÐÑемиÑÐ½Ð°Ñ Ð³ÑÑппа ÑазÑабоÑки PostgreSQL обÑÑвила ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð¾ вÑÑ Ð¾Ð´Ðµ PostgreSQL 14, новейÑей веÑÑии лидиÑÑÑÑей ÑелÑÑионной ÑиÑÑÐµÐ¼Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ даннÑÑ (СУÐÐ) Ñ Ð¾ÑкÑÑÑÑм иÑÑ Ð¾Ð´Ð½Ñм кодом.
+ +PostgreSQL 14 ÑодеÑÐ¶Ð¸Ñ ÑиÑокий ÑпекÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑей, пÑизваннÑÑ Ð¿Ð¾Ð¼Ð¾ÑÑ ÑазÑабоÑÑикам и админиÑÑÑаÑоÑам вÑпÑÑкаÑÑ Ð°ÐºÑивно ÑабоÑаÑÑие Ñ Ð´Ð°Ð½Ð½Ñми пÑиложениÑ. PostgreSQL пÑÐ¾Ð´Ð¾Ð»Ð¶Ð°ÐµÑ ÑазвиваÑÑ Ð¸Ð½Ð½Ð¾Ð²Ð°Ñии в облаÑÑи ÑабоÑÑ Ñо ÑложнÑми Ñипами даннÑÑ , вклÑÑÐ°Ñ Ð±Ð¾Ð»ÐµÐµ ÑдобнÑй доÑÑÑп к JSON и поддеÑÐ¶ÐºÑ Ð½ÐµÑмежнÑÑ Ð¸Ð½ÑеÑвалов даннÑÑ . УлÑÑÑÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑи и нагÑÑзок, оÑиенÑиÑованнÑÑ Ð½Ð° ÑабоÑÑ Ñ ÑаÑпÑеделÑннÑми даннÑми, ÑÑадиÑионно пÑиÑÑÑÑÑвÑÑÑ Ð¸ в новом Ñелизе: в ÑÑÐ¾Ñ Ñаз акÑÐµÐ½Ñ Ñделан на ÑледÑÑÑее:
+ +"ÐовейÑий Ñелиз PostgreSQL ÑÐ°Ð·Ð²Ð¸Ð²Ð°ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи наÑÐ¸Ñ Ð¿Ð¾Ð»ÑзоваÑелей ÑабоÑаÑÑ Ñ Ð½Ð°Ð³ÑÑзками на Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² болÑÑÐ¸Ñ Ð¼Ð°ÑÑÑÐ°Ð±Ð°Ñ , а Ñакже ÑлÑÑÑÐ°ÐµÑ Ð½Ð°Ð±Ð»ÑдаемоÑÑÑ Ð¸ пÑивноÑÐ¸Ñ Ð½Ð¾Ð²Ñй ÑÑнкÑионал, помогаÑÑий ÑазÑабоÑÑикам пÑиложений, â комменÑиÑÑÐµÑ ÐагнÑÑ Ð¥Ð°Ð³Ð°Ð½Ð´ÐµÑ (Magnus Hagander), Ñлен ÐÑновной ÐÐ¾Ð¼Ð°Ð½Ð´Ñ (Core Team) PostgreSQL, â ÐÑпÑÑк PostgreSQL 14 ÑвидеÑелÑÑÑвÑÐµÑ Ð¾ пÑивеÑженноÑÑи глобалÑного PostgreSQL-ÑообÑеÑÑва Ð¿Ð¾Ð´Ñ Ð¾Ð´Ñ, пÑи коÑоÑом внимаÑелÑно анализиÑÑеÑÑÑ Ð¾Ð±ÑаÑÐ½Ð°Ñ ÑвÑÐ·Ñ Ð¾Ñ Ð¿Ð¾Ð»ÑзоваÑелей ÑиÑÑÐµÐ¼Ñ Ð¸ пÑодолжаеÑÑÑ ÑазвиÑие инноваÑионного пÑодÑкÑа в облаÑÑи баз даннÑÑ , иÑполÑзÑемого и в малÑÑ , и в кÑÑпнÑÑ Ð¾ÑганизаÑиÑÑ ."
+ +PostgreSQL, инноваÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑиÑÑема ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñми, извеÑÑÐ½Ð°Ñ Ñвоей надÑжноÑÑÑÑ Ð¸ пÑоизводиÑелÑноÑÑÑÑ, полÑзÑеÑÑÑ Ð¿Ð»Ð¾Ð´Ð°Ð¼Ð¸ 26 Ð»ÐµÑ Ð¾ÑкÑÑÑой ÑазÑабоÑки, оÑÑÑеÑÑвлÑемой глобалÑнÑм ÑообÑеÑÑвом ÑазÑабоÑÑиков). Ð ÑезÑлÑÑаÑе ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð²Ð¾ вÑÑм миÑе оÑганизаÑии лÑбого ÑазмеÑа оÑдаÑÑ Ð¿ÑедпоÑÑение PostgreSQL как СУÐÐ Ñ Ð¾ÑкÑÑÑÑм Ð¸Ñ Ð¾Ð´Ð½Ñм кодом.
+ +ÐоддеÑжка JSON поÑвилаÑÑ Ð² PostgreSQL впеÑвÑе в веÑÑии 9.2, пÑи ÑÑом полÑÑение ÑазлиÑнÑÑ
знаÑений из JSON-даннÑÑ
оÑÑÑеÑÑвлÑлоÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑникалÑного ÑинÑакÑиÑа. Ð PostgreSQL 14 же ÑÑановиÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñм оÑÑÑеÑÑвлÑÑÑ Ð´Ð¾ÑÑÑп к ÑаÑÑÑм JSON Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð°Ð´ÑеÑаÑии подобной Ñой, коÑоÑÐ°Ñ Ð¸ÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¼Ð°ÑÑивов. ÐапÑимеÑ, ÑепеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ иÑполÑзоваÑÑ Ð·Ð°Ð¿ÑоÑÑ Ð²Ñоде SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];. ÐÑо Ð´ÐµÐ»Ð°ÐµÑ ÑинÑакÑÐ¸Ñ Ð·Ð°Ð¿ÑоÑов PostgreSQL ÑооÑвеÑÑÑвÑÑÑим ожиданиÑм полÑзоваÑелей, ÑабоÑаÑÑиÑ
Ñ JSON в дÑÑгиÑ
ÑиÑÑемаÑ
. ФÑеймвоÑк адÑеÑаÑии JSON, поÑвивÑийÑÑ Ð² PostgreSQL 14, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑполÑзолÑзован Ð´Ð»Ñ Ð´ÑÑгиÑ
даннÑÑ
Ñ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ð¾Ð¹ ÑÑÑÑкÑÑÑой â и ÑÑо Ñже Ñделано Ð´Ð»Ñ Ñипа даннÑÑ
hstore.
ÐнÑеÑвалÑнÑе ÑÐ¸Ð¿Ñ Ð´Ð°Ð½Ð½ÑÑ , Ñакже впеÑвÑе поÑвивÑиеÑÑ Ð² PostgreSQL 9.2, ÑепеÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑ Ð¸Ð½ÑеÑÐ²Ð°Ð»Ñ Ñ Ð¿ÑеÑÑваниÑми â ÑÑо доÑÑигаеÑÑÑ Ð·Ð° ÑÑÑÑ Ð¿Ð¾ÑÐ²Ð»ÐµÐ½Ð¸Ñ "мÑлÑÑи-инÑеÑвалÑнÑÑ " Ñипов даннÑÑ . ÐÑлÑÑи-инÑеÑвал â ÑÑо ÑпоÑÑдоÑеннÑй ÑпиÑок непеÑеÑекаÑÑÐ¸Ñ ÑÑ Ð¸Ð½ÑеÑвалов, коÑоÑÑй позволÑÐµÑ ÑазÑабоÑÑикам ÑоздаваÑÑ Ð±Ð¾Ð»ÐµÐµ пÑоÑÑÑе запÑоÑÑ, когда ÑеÑÑ Ð¸Ð´ÑÑ Ð¾ ÑложнÑÑ Ð¿Ð¾ÑледоваÑелÑноÑÑÑÑ Ð¸Ð½ÑеÑвалов. "РоднÑе" инÑеÑвалÑнÑе ÑÐ¸Ð¿Ñ Ð´Ð°Ð½Ð½ÑÑ PostgreSQL â инÑеÑÐ²Ð°Ð»Ñ Ð´Ð°Ñ, вÑемени, ÑиÑел â ÑепеÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑ ÑÑÐ¾Ñ ÑÑнкÑионал, а оÑÑалÑнÑе ÑÐ¸Ð¿Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ ÑаÑÑиÑенÑ, ÑÑÐ¾Ð±Ñ ÐµÐ³Ð¾ задейÑÑвоваÑÑ.
+ +Ð PostgreSQL 14 оÑÑÑеÑÑвлÑн ÑÑÑеÑÑвеннÑй пÑоÑÑв в опÑимизаÑии Ð´Ð»Ñ Ð½Ð°Ð³ÑÑзок, иÑполÑзÑÑÑÐ¸Ñ Ð±Ð¾Ð»ÑÑое колиÑеÑÑво Ñоединений â некоÑоÑÑе бенÑмаÑки показÑваÑÑ ÑлÑÑÑение пÑоизводиÑелÑноÑÑи в 2 Ñаза. Также ÑÑÐ¾Ñ Ñелиз пÑивноÑÐ¸Ñ Ð¾ÑеÑеднÑе опÑимизаÑии Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑов Ñипа "B-деÑево" (оÑновной Ñип индекÑов, иÑполÑзÑемÑй по ÑмолÑаниÑ): ÑÑÑеÑÑвенно ÑменÑÑÐµÐ½Ñ ÑÐµÐ¼Ð¿Ñ ÑаÑпÑÑ Ð°Ð½Ð¸Ñ (bloat) индекÑов в ÑиÑÑаÑиÑÑ Ñ ÑаÑÑÑми обновлениÑми.
+ +Ð PostgreSQL 14 можно иÑполÑзоваÑÑ ÐºÐ¾Ð½Ð²ÐµÐ¹ÐµÑнÑй Ñежим запÑоÑов к базе даннÑÑ
, ÑÑо Ð¼Ð¾Ð¶ÐµÑ ÑÑÑеÑÑвенно ÑлÑÑÑиÑÑ Ð¿ÑоизводиÑелÑноÑÑÑ Ð² ÑиÑÑаÑиÑÑ
Ñ Ð²ÑÑокими задеÑжками ÑоединениÑ, а Ñакже пÑи нагÑÑзкаÑ
Ñ Ð±Ð¾Ð»ÑÑим колиÑеÑÑвом легковеÑнÑÑ
опеÑаÑий запиÑи (INSERT/UPDATE/DELETE). Так как ÑÑа возможноÑÑÑ Ñеализована на "клиенÑÑкой" ÑÑоÑоне, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ ÐºÐ¾Ð½Ð²ÐµÐ¹ÐµÑнÑй Ñежим Ñ Ð»Ñбой ÑовÑеменной веÑÑией PostgreSQL пÑи ÑÑловии, ÑÑо пÑименÑеÑÑÑ ÐºÐ»Ð¸ÐµÐ½Ñкое ÐРвеÑÑии 14 или же дÑÐ°Ð¹Ð²ÐµÑ ÑабоÑÑ Ñ PostgreSQL ÑкомпилиÑован Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой библиоÑеки libpq веÑÑии 14.
РаÑпÑеделеннÑе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ PostgreSQL вÑигÑаÑÑ Ð¾Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð° на веÑÑÐ¸Ñ 14. ÐÑи иÑполÑзовании логиÑеÑкой ÑепликаÑии PostgreSQL ÑепеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑпÑавлÑÑÑ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑикам инÑоÑмаÑÐ¸Ñ Ð¾ незавеÑÑÑннÑÑ ÑÑанзакÑиÑÑ , ÑÑо пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº знаÑиÑелÑнÑм ÑлÑÑÑениÑм пÑоизводиÑелÑноÑÑи пÑи пÑименении болÑÑÐ¸Ñ ÑÑанзакÑий на подпиÑÑÐ¸ÐºÐ°Ñ . PostgreSQL 14 Ñакже ÑодеÑÐ¶Ð¸Ñ Ð½ÐµÑколÑко опÑимизаÑий пÑоизводиÑелÑноÑÑи в ÑиÑÑеме логиÑеÑкого декодиÑованиÑ, ÑÑо ÑÑÐ¸Ð»Ð¸Ð²Ð°ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи логиÑеÑкой ÑепликаÑии.
+ +ÐбÑÑÑки ÑÑоÑонниÑ
даннÑÑ
(foreign data wrappers), коÑоÑÑе иÑполÑзÑÑÑÑÑ Ð´Ð»Ñ ÑабоÑÑ Ñ Ð¾Ð±ÑединÑннÑми PostgreSQL базами даннÑÑ
и дÑÑгими ÑиÑÑемами, в PostgreSQL 14 могÑÑ Ð·Ð°Ð´ÐµÐ¹ÑÑвоваÑÑ Ð¿Ð°Ñаллелизм вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑов. Ð ÑÑом Ñелизе Ð´Ð°Ð½Ð½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ñеализована в postgres_fdw, обÑÑÑке ÑÑоÑонниÑ
даннÑÑ
Ð´Ð»Ñ ÑабоÑÑ Ñ Ð²Ð½ÐµÑними базами даннÑÑ
PostgreSQL.
Рдополнение к поддеÑжки паÑаллелÑного вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑов, postgres_fdw ÑепеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑÑÑеÑÑвлÑÑÑ Ð¼Ð°ÑÑовÑÑ Ð²ÑÑÐ°Ð²ÐºÑ Ð´Ð°Ð½Ð½ÑÑ
и импоÑÑ ÑекÑиониÑованнÑÑ
ÑÐ°Ð±Ð»Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð´Ð¸ÑекÑÐ¸Ð²Ñ IMPORT FOREIGN SCHEMA.
Ð PostgreSQL 14 пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð½Ð¾Ð²Ñе ÑлÑÑÑÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑи ÑиÑÑÐµÐ¼Ñ Ð¾ÑиÑÑки (vacuuming), вклÑÑÐ°Ñ Ð¾Ð¿ÑимизаÑии Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑов Ñипа B-деÑево. Ð ÑÑом Ñелизе добавлен "аваÑийнÑй Ñежим" оÑиÑÑки, пÑедназнаÑеннÑй Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ Ð¿ÐµÑÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÑÑÑÑика ÑÑанзакÑий (transaction ID wraparound). ÐпеÑаÑÐ¸Ñ ANALYZE, иÑполÑзÑÐµÐ¼Ð°Ñ Ð´Ð»Ñ ÑбоÑа ÑÑаÑиÑÑики, ÑепеÑÑ ÑабоÑÐ°ÐµÑ Ð·Ð½Ð°ÑиÑелÑно бÑÑÑÑее благодаÑÑ ÑÑÐ´Ñ Ð¾Ð¿ÑимизаÑий пÑоизводиÑелÑноÑÑи.
СжаÑие Ð´Ð»Ñ TOAST-ÑиÑÑемÑ, коÑоÑÐ°Ñ Ð¸ÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÑÑиÑ
даннÑÑ
, ÑакиÑ
как блоки ÑекÑÑов, ÑепеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°ÑÑÑаиваÑÑÑÑ. Ð PostgreSQL 14 добавлена поддеÑжка алгоÑиÑма ÑжаÑÐ¸Ñ LZ4 Ð´Ð»Ñ TOAST-ÑÑолбÑов, в дополнение к ÑÑÑеÑÑвÑÑÑей поддеÑжке pglz.
Ð PostgreSQL 14 поÑвлÑÑÑÑÑ Ð½ÐµÑколÑко новÑÑ ÑÑнкÑий Ð´Ð»Ñ Ð¼Ð¾Ð½Ð¸ÑоÑинга и наблÑдаемоÑÑи, вклÑÑаÑ:
+ +COPY,compute_query_id Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð²Ð°Ð¼ оÑÑлеживаÑÑ ÐºÐ¾Ð½ÐºÑеÑнÑй запÑоÑ, иÑполÑзÑÑ ÑазлиÑнÑе ÑиÑÑÐµÐ¼Ñ PostgreSQL â Ñакие как pg_stat_activity, EXPLAIN VERBOSE и Ñ.д.УлÑÑÑÐµÐ½Ð¸Ñ Ð² PostgreSQL вноÑÑÑ Ñвой вклад в пÑоÑеÑÑÑ Ð¿Ð»Ð°Ð½Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑов. Ð ÑÑом Ñелизе вклÑÑÐµÐ½Ñ Ð½ÐµÑколÑко опÑимизаÑий паÑаллелÑного вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑов, в Ñом ÑиÑле ÑлÑÑÑенное паÑаллелÑное вÑполнений поÑледоваÑелÑного ÑканиÑованиÑ, возможноÑÑи Ð´Ð»Ñ PL/pgSQL вÑполнÑÑÑ Ð¿Ð°ÑаллелÑнÑе запÑоÑÑ Ð¿Ñи иÑполÑзовании ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ RETURN QUERY, а Ñакже возможноÑÑÑ Ð·Ð°Ð´ÐµÐ¹ÑÑвоваÑÑ Ð¿Ð°ÑаллелÑное вÑполнение запÑоÑов Ð´Ð»Ñ REFRESH MATERIALIZED VIEW. ÐÑоме ÑÑого, запÑоÑÑ, иÑполÑзÑÑÑие ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ð° оÑнове вложеннÑÑ
Ñиклов, могÑÑ Ð²ÑполнÑÑÑÑÑ Ð±Ð¾Ð»ÐµÐµ ÑÑÑекÑивно за ÑÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑного кÑÑиÑованиÑ, Ñеализованного в PostgreSQL 14.
РаÑÑиÑÐµÐ½Ð½Ð°Ñ ÑÑаÑиÑÑика ÑепеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑполÑзована Ð´Ð»Ñ Ð²ÑÑажений. Ð Ñакже, пÑоизводиÑелÑноÑÑÑ ÑабоÑÑ Ñ Ð¾ÐºÐ¾Ð½Ð½Ñми ÑÑнкÑиÑми вÑигÑÑÐ²Ð°ÐµÑ Ð¾Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½ÐºÑеменÑалÑнÑÑ ÑоÑÑиÑовок â возможноÑÑи, поÑвивÑейÑÑ Ð² PostgreSQL 13.
+ +Ð¥ÑанимÑе пÑоÑедÑÑÑ, коÑоÑÑе позволÑÑÑ ÑпÑавлÑÑÑ ÑÑанзакÑиÑми в блокаÑ
кода, ÑепеÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑ Ð¿Ð°ÑамеÑÑÑ OUT Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð²ÑаÑаемÑÑ
даннÑÑ
.
PostgreSQL 14 пÑедоÑÑавлÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ "ÑвÑзÑваÑÑ" или, дÑÑгими Ñловами, вÑÑавниваÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ñипа timestamp Ñ ÐºÐ¾Ð½ÐºÑеÑном инÑеÑвалам вÑемени, иÑполÑзÑÑ ÑÑнкÑÐ¸Ñ date_bin. Ð ÑÑом Ñелизе Ñакже Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ñ ÑооÑвеÑÑÑвÑÑÑие ÑÑандаÑÑÑ Ð²ÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ SEARCH и CYCLE, помогаÑÑие Ñ ÑоÑÑиÑовкой и опÑеделениÑм Ñиклов в ÑекÑÑÑивнÑÑ
CTE.
PostgreSQL 14 позволÑÐµÑ Ñдобно ÑпÑавлÑÑÑ Ð¿ÑивилегиÑми "ÑолÑко на ÑÑение" и "ÑолÑко на запиÑÑ" Ð´Ð»Ñ ÑаблиÑ, пÑедÑÑавлений и ÑÑ
ем, иÑполÑзÑÑ Ð¿ÑедопÑеделÑннÑе Ñоли pg_read_all_data и pg_write_all_data.
ÐÑоме ÑÑого, в ÑÑом Ñелизе ÑооÑвеÑÑÑвÑÑÑее ÑÑандаÑÑам ÑиÑÑема ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°ÑолÑми и аÑÑенÑиÑикаÑии SCRAM-SHA-256 ÑÑановиÑÑÑ ÑиÑÑемой по ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ Ð½Ð¾Ð²ÑÑ
ÑкземплÑÑов PostgreSQL.
PostgreSQL ÑвлÑеÑÑÑ Ð²ÐµÐ´ÑÑей СУÐÐ Ñ Ð¾ÑкÑÑÑÑми иÑÑ Ð¾Ð´Ð½Ñми ÑекÑÑами, Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑнÑм ÑообÑеÑÑвом из ÑÑÑÑÑ Ð¿Ð¾Ð»ÑзоваÑелей и ÑазÑабоÑÑиков, обÑединÑÑÑим множеÑÑво компаний и оÑганизаÑий. ÐÑÐ¾ÐµÐºÑ PostgreSQL базиÑÑеÑÑÑ Ð½Ð° более Ñем 30-леÑнем опÑÑе пÑоекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÑазÑабоÑки, наÑавÑÐ¸Ñ ÑÑ Ð² ÐалиÑоÑнийÑком ÑнивеÑÑиÑеÑе ÐеÑкли, и в наÑÑоÑÑее вÑÐµÐ¼Ñ Ð¿ÑÐ¾Ð´Ð¾Ð»Ð¶Ð°ÐµÑ ÑазвиваÑÑÑÑ Ð±ÐµÑпÑеÑеденÑнÑми Ñемпами. ÐогаÑÑй Ð½Ð°Ð±Ð¾Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑей PostgreSQL не ÑолÑко не ÑÑÑÑÐ¿Ð°ÐµÑ Ð²ÐµÐ´ÑÑим коммеÑÑеÑким СУÐÐ, но и пÑевоÑÑ Ð¾Ð´Ð¸Ñ Ð¸Ñ ÑазвиÑой ÑÑнкÑионалÑноÑÑÑÑ, ÑаÑÑиÑÑемоÑÑÑÑ, безопаÑноÑÑÑÑ Ð¸ ÑÑабилÑноÑÑÑÑ.
+ +PostgreSQLå ¨çå¼åç»ä»å¤©å®£å¸PostgreSQL 14æ£å¼åå¸, è¿æ¯ä¸ç䏿å è¿ç弿ºæ°æ®åº +çææ°çæ¬ã
+ +PostgreSQL 14 带æ¥äºå¾å¤æ°ç¹æ§ï¼å¯ä»¥å¸®å©å¼å人åå管çåé¨ç½²ä»¥æ°æ®ä¸ºæ¯æçåº +ç¨ç¨åºãPostgreSQL æç»å¨å¤ææ°æ®ç±»å䏿·»å åæ°ç¹æ§ï¼å æ¬æ´ä¾¿å©å°è®¿é®JSONå对é +è¿ç»æ°æ®èå´çæ¯æãæ¤æ¬¡ææ°çæ¬è¿å¢å äº PostgreSQL å¨é«æ§è½ååå¸å¼æ°æ®å·¥ä½è´è½½ +æ¹é¢çæ¹è¿è¶å¿ï¼å¨æ¯æè¿æ¥å¹¶åãé«åå ¥å·¥ä½è´è½½ãå¹¶è¡æ¥è¯¢åé»è¾å¤å¶æ¹é¢è¿è¡äºæ¹è¿ +ã
+ +âPostgreSQL çææ°çæ¬æé«äºæä»¬ç¨æ·å¤§è§æ¨¡ç®¡çæ°æ®å·¥ä½è´è½½çè½åï¼å¢å¼ºäºå¯è§å¯æ§ +ï¼å¹¶å 嫿å©äºåºç¨ç¨åºå¼å人åçæ°åè½ï¼âï¼PostgreSQL æ ¸å¿å¢éæåMagnus +Hagander 说ï¼"PostgreSQL 14 è¯æäºå ¨ç PostgreSQL 社åºè´åäºè§£å³åé¦å¹¶ç»§ç» +æä¾ç±å¤§å¤§å°å°çç»ç»é¨ç½²çåæ°æ°æ®åºè½¯ä»¶ãâ
+ +PostgreSQLæ¯ä¸ç§åæ°çæ°æ®ç®¡çç³»ç»ï¼ä»¥å ¶å¯é æ§åå¥å£®æ§èç§°ï¼å¾çäºå ¨çå¼åè ç¤¾åº +è¶ è¿25å¹´ç弿ºå¼åï¼å®å·²æä¸ºåç§è§æ¨¡ç»ç»é¦éç弿ºå ³ç³»åæ°æ®åºã
+ +PostgreSQL ä»PostgreSQL çæ¬9.2å¼å§å°±å·²ç»æ¯ææä½JSONæ°æ®ï¼åªæ¯æ£ç´¢æ¶æä½¿ç¨çè¯
+æ³æ¯è¾ç¬ç¹ãPostgreSQL 14 å¯ä»¥ä½¿ç¨ä¸æ è®¿é® JSON æ°æ®ã
+æ¯å¦ç°å¨æ¯æè¿æ ·æ¥è¯¢ï¼
+SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];
è¿ä½¿PostgreSQLä¸ä»JSONæ°æ®ä¸æ£ç´¢ä¿¡æ¯æ¶çéç¨è¯æ³ä¿æä¸è´ãPostgreSQL 14 䏿·»å ç
+䏿 æ¡æ¶ä¸è¬å¯ä»¥æ©å±å°å
¶ä»åµå¥æ°æ®ç»æï¼åæ¶ä¹éç¨äºæ¬æ¬¡åå¸çhstoreæ°æ®ç±»åã
Range ç±»ååæ ·ä¹æ¯å¨PostgreSQL çæ¬9.2馿¬¡åå¸çï¼ç°å¨å¼å ¥äº"multirange"æ°æ®ç±»å +æ¥æ¯æéè¿ç»èå´çæ°æ®ãmultirangeæ¯ééå èå´çæåºå表ï¼å®è®©å¼å人åéè¿ç¼åæ´ +ç®åçæ¥è¯¢æ¥å¤ç夿çèå´åºåãPostgreSQLåççèå´ç±»åï¼dates, times, numbersï¼ +æ¯æmultirangeï¼å ¶ä»æ°æ®ç±»å被æ©å±åä¹å¯ä»¥ä½¿ç¨multirangeã
+ +PostgreSQL 14 为使ç¨å¤è¿æ¥çå·¥ä½è´è½½æä¾äºæ¾èçååéæåï¼å¨ä¸äºåºåæµè¯ä¸ï¼ +é度æé«äº2åãæ¤çæ¬ç»§ç»éè¿å¨é¢ç¹æ´æ°ç´¢å¼ç表ä¸åå°ç´¢å¼è¨èæ¥æ¹è¿Bæ ç´¢å¼çæ´ä½ +管çã
+ +PostgreSQL 14 å¼å
¥äºç®¡éæ¥è¯¢çè½åï¼è¿å¯ä»¥æ¾èæåé«å»¶è¿è¿æ¥æå
·æè®¸å¤å°éå
+(INSERT/UPDATE/DELETE)æä½çå·¥ä½è´è½½æ§è½ãç±äºè¿æ¯å®¢æ·ç«¯åè½ï¼å æ¤åªè¦ä½¿ç¨çæ¬14
+ç客æ·ç«¯æä½¿ç¨éè¿çæ¬14çlibpqæå»ºç客æ·ç«¯é©±å¨ç¨åºï¼å°±å¯ä»¥å¯¹ä»»ä½ç°ä»£ PostgreSQL
+æ°æ®åºä½¿ç¨ç®¡é模å¼ã
åå¸å¼ PostgreSQL æ°æ®åºå°ä» PostgreSQL 14 ä¸åçã使ç¨é»è¾å¤å¶æ¶ï¼PostgreSQL ç° +å¨å¯ä»¥å°æ£å¨è¿è¡çäºå¡ä»¥æµå¤å¶å½¢å¼ä¼ è¾ç»è®¢é è ï¼è¿å¯¹è®¢é 大åäºå¡çåºç¨å ·ææ¾è +çæ§è½ä¼å¿ãPostgreSQL 14 è¿ä¸ºæ¯æé»è¾å¤å¶çé»è¾è§£ç ç³»ç»æ·»å äºä¸äºå ¶ä»æ§è½æ¹è¿ã
+ +è¿å»ç¨äºå¤çè·¨ PostgreSQL åå
¶ä»æ°æ®åºçèåå·¥ä½è´è½½çå¤é¨æ°æ®å
è£
å¨ï¼ç°å¨å¯ä»¥å©
+ç¨ PostgreSQL 14 ä¸çå¹¶è¡æ¥è¯¢ç¹æ§ã
+æ¬çæ¬å¨ postgres_fdwï¼ä¸å
¶ä» PostgreSQL æ°æ®åºæ¥å£çå¤é¨æ°æ®å
è£
å¨ï¼ä¸å®ç°äºæ¤
+åè½ã
é¤äºæ¯æå¹¶è¡æ¥è¯¢ä¹å¤ï¼postgres_fdw ç°å¨ä¹å¯ä»¥ä½¿ç¨IMPORT FOREIGN SCHEMA æä»¤å¨
+å¤é¨è¡¨ä¸æ¹éæå
¥æ°æ®å¹¶å¯¼å
¥è¡¨ååºã
PostgreSQL 14 å°å
¶æ§è½æåæ©å±å°äºå
¶ vacuumingç³»ç»ã
+æ¬çæ¬å
æ¬ç¨äºåå° B æ ç´¢å¼å¼éçä¼åãæ¤çæ¬è¿æ·»å äºä¸ä¸ªvacuumç"ç´§æ¥æ¨¡å¼"ï¼æ¨
+å¨é²æ¢äºå¡IDç¯ç»ã
+ANALYZEç¨äºæ¶éæ°æ®åºç»è®¡ä¿¡æ¯ï¼åºäºå
¶èªèº«çæ§è½æ¹è¿ï¼ç°å¨å¨
+PostgreSQL 14ä¸è¿è¡é
+åº¦ææ¾æ´å¿«ã
ç°å¨å¯ä»¥é ç½®PostgreSQLçTOAST ç³»ç»çå缩é项ï¼è¯¥ç³»ç»ç¨äºåå¨è¾å¤§çæ°æ®ï¼å¦ææ¬å +æå ä½å¾å½¢ã
+ +PostgreSQL 14 为 TOAST åæ·»å äº LZ4 å缩ï¼åæ¶ä¿ç对 pglz åç¼©çæ¯æã
PostgreSQL 14 æ·»å äºå 个æ°åè½æ¥å¸®å©çæ§åå¯è§å¯æ§ï¼å æ¬è·è¸ªâCOPYâå½ä»¤çè¿åº¦ã +é¢åæ¥å¿ (WAL) æ´»å¨åå¤å¶æ§½ç»è®¡ä¿¡æ¯ã
+å¯ç¨compute_query_idå¯ä»¥è®©æ¨éè¿å¤ä¸ª PostgreSQLç¹æ§ï¼å
æ¬ pg_stat_activityã
+EXPLAIN VERBOSEåå
¶ä»æ´å¤ç¹æ§ï¼æ¥å¯ä¸è·è¸ªæä¸ªæ¥è¯¢ã
æ¥è¯¢è®¡ååæ§è¡å¨PostgreSQL 14ä¸ä¹è¿è¡äºæ¹è¿ãæ¤çæ¬å
æ¬å¯¹ PostgreSQL å¹¶è¡æ¥è¯¢æ¯
+æçå¤é¡¹æ¹è¿ï¼å
æ¬æ´å¥½çå¹¶è¡é¡ºåºæ«ææ§è½ãPL/pgSQLå¨ä½¿ç¨ RETURN QUERY å½ä»¤æ¶æ§è¡
+å¹¶è¡æ¥è¯¢çè½åã以åå¯ç¨ REFRESH MATERIALIZED VIEW æ§è¡å¹¶è¡æ¥è¯¢ã
+æ¤å¤ï¼PostgreSQL 14䏿°å¢çéå ç¼å让åµå¥æ¥è¯¢æ§è½å¾å°æåã
æ©å±ç»è®¡)ç°å¨å¯ä»¥å¨ PostgreSQL 14 ä¸ç¨äºè¡¨è¾¾å¼ãæ¤å¤ï¼PostgreSQL 13ä¸å¼å ¥çä¸ä¸ª +[çªå£å½æ°]åè½(https://www.postgresql.org/docs/14/functions-window.html)ç°å¨ä¹å¯ä»¥ +ä»å¢éæåºä¸å¾å°æåã
+ +åå¨è¿ç¨å
许å¨ä»£ç åä¸è¿è¡äºå¡æ§å¶ï¼ç°å¨å¯ä»¥ä½¿ç¨OUTåæ°è¿åæ°æ®ã
PostgreSQL 14 å¼å
¥äºä½¿ç¨ date_bin彿°ï¼å¯ä»¥å°æ¶é´æ³æç
§ä»»æé´éè¿è¡åç»æå¯¹é½ã
æ¤çæ¬è¿æ·»å äºç¬¦åSQLçSEARCHåCYCLE åå¥ï¼ä»¥å¸®å©éå½å
¬ç¨è¡¨è¡¨è¾¾å¼çæåºå循ç¯
+æ£æµã
PostgreSQL 14 å¯ä»¥æ¹ä¾¿å°ä½¿ç¨ pg_read_all_data å pg_write_all_data é¢å®ä¹è§è²ä¸º
+ç¨æ·åé
表ãè§å¾å模å¼çåªè¯»ååªåæéã
æ¤å¤ï¼æ¤çæ¬ç°å¨å°ç¬¦åæ åçSCRAM-SHA-256å¯ç 管çå身份éªè¯ç³»ç»å为PostgreSQL
+æ°å®ä¾çé»è®¤è®¾ç½®ã
PostgreSQLæ¯ä¸ç䏿å è¿ç弿ºæ°æ®åºï¼å®çå ¨çç¤¾åºæ¯ä¸ä¸ªç±æåä¸ä¸çç¨æ·ãå¼å +人åãå ¬å¸æå ¶ä»ç»ç»ç»æçãPostgreSQLèµ·æºäºå å©ç¦å°¼äºå¤§å¦ä¼¯å å©åæ ¡ï¼å·²ç»æ30 +å¤å¹´çåå²ï¼å¹¶ä¸ä»¥æ ä¸ä¼¦æ¯çå¼åé度继ç»åå±ã PostgreSQLçæçåè½ä¸ä» ä¸é¡¶çº§å +䏿°æ®åºç³»ç»å¹é ï¼èä¸å¨é«çº§æ°æ®åºåè½ã坿©å±æ§ãå®å ¨æ§åç¨³å®æ§æ¹é¢è¶ è¿äºå®ä»¬ã
+ +