{"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\/en\/blog\/news\/reliz-subd-postgresql-18","title":{"rendered":"Release of Database Management System PostgreSQL 18","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>After a year of development, the new stable branch of Database Management System PostgreSQL 18 has been released. Updates for this new branch will continue for five years until November 2030. Support for PostgreSQL 13.x, the oldest of the supported branches, will end on November 13.     <\/p>\n<p>Key innovations:  <\/p>\n<ul>\n<li class=\"l\"> An asynchronous input\/output subsystem has been added, which allows increasing the throughput of input\/output and eliminating delays. In addition to the universal implementation of AIO (io_method=worker) available on all platforms, which is based on running several worker processes (default 3), the io_uring asynchronous input\/output interface (io_method=io_uring) can be used on Linux, supported from kernel version 5.1. Asynchronous input\/output is currently employed only to accelerate certain operations related to reading data from the file system, such as sequential scans, index bitmap scans, and vacuuming. In some tests, the use of AIO has resulted in performance improvements of 2-3 times. Write operations continue to be executed synchronously to meet ACID requirements.\n<li class=\"l\"> Optimization of the 'skip scan' feature has been implemented in multi-column indexes, allowing the index to be used not only for checking the first indexed column and the full combination of columns but also for processing other indexed columns separately. For example, previously, when creating a B-tree index on the columns '(status, date)', the index was only applied to queries checking the 'status' field or both 'status' and 'date' fields, while checking only the 'date' field would cause a scan of the table's contents. The 'skip scan' mode allows, in certain situations, scanning the index for queries on just the 'date' field. This mode only applies to 'B-tree' indexes when using the conditional operator '=' on the indexed field, specifically in situations where the skipped field has a small number of distinct values (for example, the optimization will be effective if the 'status' field has a few fixed values).\n<li class=\"l\"> Optimizations have been added that more efficiently utilize indexes for queries containing 'OR' and 'IN (...)' constructs in the 'WHERE' block, as well as enhancing the performance of join planning and execution (for example, the hash merge code has been accelerated and incremental sorting has been allowed during table merging).\n<li class=\"l\"> Support for parallelized building of GIN (Generalized Inverted Index) indexes has been added, which are used for indexing composite values such as arrays and for organizing searches on full-text data or JSON structures.\n<li class=\"l\"> The ability to create materialized views and keys for partitioned tables with 'unique' index structures that do not use B-tree has been introduced.\n<li class=\"l\"> Overall lock performance has been improved for queries operating with a large number of tables, and enhancements have been made to the processing of queries to partitioned tables, speeding up the elimination of unused partitions and join operations.\n<li class=\"l\"> Text operations have been accelerated, such as functions for converting to upper\/lower case. A PG_UNICODE_FAST mode has been added to speed up the handling of Unicode character locale properties.\n<li class=\"l\"> The ability to save the query planner's statistics after updates between significant releases of PostgreSQL has been implemented. This change helps to avoid executing the resource-intensive 'ANALYZE' operation after launching a new version, during which a performance drop of the DBMS can be observed.\n<li class=\"l\"> The performance of the pg_upgrade utility, used to automate the transition to a significant new release of PostgreSQL, has been improved. The optimizations are especially noticeable when upgrading databases that contain a large number of objects, such as tables and sequences. To speed up pg_upgrade, a flag &#171;&#8212;jobs N&#187; has also been added for parallelizing checks across N threads, and a flag &#171;&#8212;swap&#187; for completely swapping data directories without creating links, cloning, or copying files.\n<li class=\"l\"> Support for virtual generated columns has been added, where the values are computed on the fly during query execution, without being saved to disk. If the expression &#171;CREATE TABLE&#8230;&#187; specifies only the keyword &#171;GENERATED&#187; for generated columns without specifying the type (STORED or VIRTUAL), the new variant is applied by default instead of the old implementation. In the old implementation, values were generated during &#171;INSERT&#187; or &#171;UPDATE&#187; operations and saved to disk for later use. A drawback of virtual generated columns is that they cannot be used in indexes, while an advantage is the ability to normalize and modify data on the fly (relevant when working with JSON data). As for classical stored generated columns, support for logical replication has been provided in the new release.\n<li class=\"l\"> In INSERT, UPDATE, DELETE, and MERGE commands, the ability to return previous (OLD) and current (CURRENT) values in the RETURNING expression has been implemented. For example, &#171;UPDATE&#8230; RETURNING WITH (OLD AS o, NEW AS n) o.*, n.*.&#187;\n<li class=\"l\"> The uuidv7() function has been added for generating random unique identifiers in the UUIDv7 format. Unlike the old function for generating UUIDs (gen_random_uuid), which is now also available under the name uuidv4(), UUIDv7 includes the time of generation along with the random value. The presence of ordered parts in the UUID value (the first 12 characters represent epoch time, while the subsequent 18 are random values) improves sorting and indexing efficiency, which is particularly relevant since UUIDs are commonly used as primary keys (for example, keys created close in time are placed next to each other in the index).\n<li class=\"l\"> The 'LIKE' operation has been enhanced to support text matching that uses non-deterministic locale properties 'collation', allowing for matches that consider the meaning of characters (for example, accent marks may be disregarded in comparisons). A CASEFOLD function has been added to change the case of characters with respect to 'collation' properties (for instance, some characters have more than two lowercase variants or may require conversion to uppercase instead of lowercase during comparisons).\n<li class=\"l\"> The ability to use temporal constraints has been added. In the values 'PRIMARY KEY' and 'UNIQUE', the expression 'WITHOUT OVERLAPS' should be used to add temporal constraints, while in the value 'FOREIGN KEY' \u2014 the expression PERIOD. For example, when defining primary keys, keys with overlapping time intervals can be restricted.\n<li class=\"l\"> A command 'CREATE FOREIGN TABLE ... LIKE command' has been added to create a foreign table schema based on the definition of a local table.\n<li class=\"l\"> Support for connecting to the DBMS using OAUTH 2.0-based authentication with an access token instead of a password has been added. Using OAUTH allows for not storing passwords in the DB, identifying users via external services, and utilizing features such as two-factor authentication and single sign-on (SSO).\n<li class=\"l\"> The function ssl_tls13_ciphers() has been added, which allows you to define the list of encryption algorithms permitted when connecting using the TLSv1.3 protocol.\n<li class=\"l\"> Support for MD5 algorithm for password hashing has been marked as deprecated and planned for removal. Instead of MD5, it is recommended to use the SCRAM algorithm (SCRAM-SHA-256), which appeared in PostgreSQL 10. Additionally, support for SCRAM-based authentication forwarding via postgres_fdw and dblink to external PostgreSQL servers has been implemented.\n<li class=\"l\"> When executing the 'EXPLAIN ANALYZE' operation, information on the number of index search operations during index scanning and the number of buffer accesses during query execution is provided. The 'EXPLAIN ANALYZE VERBOSE' output includes statistics on CPU usage, WAL logs, and the intensity of read operations. The pg_stat_all_tables table has been updated with information about the time spent on the VACUUM operation and table analysis. Statistics on input\/output intensity and WAL log load by individual connections have been provided. Information on diagnosing conflicts during write operations in logical replication has been added to pg_stat_subscription_stats and logs.\n<li class=\"l\"> In new installations, checksums for data integrity verification are enabled by default. To disable this behavior when starting initdb, the '--no-data-checksums' option should be specified.\n<li class=\"l\"> A flag '--all' has been added to the pg_createsubscriber utility to create logical replicas for all databases in one command.\n<li class=\"l\"> A new version (3.2) of the protocol used for interaction between external utilities and the DBMS has been implemented in the libpq library. The last protocol update was done in PostgreSQL 7.4 (2003). Version 3.0 continues to be the default in the libpq library.          <\/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.1.1 - 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\/en\/blog\/news\/reliz-subd-postgresql-18\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\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\/en\/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\udd47 PostgreSQL 18 Release | ProHoster","description":"After a year of development, a new stable branch of the PostgreSQL DBMS 18 has been released. Updates for the new branch will be released over the next five years until November 2030.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/reliz-subd-postgresql-18","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","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\/en\/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\/en\/wp-json\/wp\/v2\/posts\/144010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=144010"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/144010\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=144010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=144010"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=144010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}