{"id":38636,"date":"2019-10-31T22:24:58","date_gmt":"2019-10-31T19:24:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/reliz-subd-postgresql-12\/"},"modified":"2019-10-31T22:24:58","modified_gmt":"2019-10-31T19:24:58","slug":"reliz-subd-postgresql-12","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/news\/reliz-subd-postgresql-12","title":{"rendered":"Lanzamiento de la base de datos PostgreSQL 12","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Despu\u00e9s de un a\u00f1o de desarrollo <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/about\/news\/1976\/\">el a\u00f1o pasado<\/a><\/noindex> nueva rama estable de la base de datos PostgreSQL 12. Las actualizaciones para la nueva rama <noindex><a rel=\"nofollow\" href=\"http:\/\/www.postgresql.org\/support\/versioning\/\">se lanzar\u00e1n<\/a><\/noindex> durante cinco a\u00f1os hasta noviembre de 2024. <\/p>\n<p>Principales <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/static\/release-12.html\">novedades<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> Se ha a\u00f1adido soporte para \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/ddl-generated-columns.html\">columnas generadas<\/a><\/noindex>\u00ab, cuyo valor se calcula en base a una expresi\u00f3n que abarca los valores de otras columnas en la misma tabla (an\u00e1logo a las vistas, pero para columnas individuales). Las columnas generadas pueden ser de dos tipos: almacenadas y virtuales. En el primer caso, el valor se calcula en el momento de a\u00f1adir o modificar datos, mientras que en el segundo caso se calcula en cada lectura en funci\u00f3n del estado actual de otras columnas. Actualmente, en PostgreSQL solo se admiten columnas generadas almacenadas;\n<li class=\"l\"> Se a\u00f1adi\u00f3 la capacidad de ejecutar consultas de datos de documentos JSON mediante <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/functions-json.html#FUNCTIONS-SQLJSON-PATH\">expresiones de ruta<\/a><\/noindex>, que son similares a <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/XPath\">XPath<\/a><\/noindex> y est\u00e1n definidas en el est\u00e1ndar SQL\/JSON. Para mejorar la eficiencia del procesamiento de tales expresiones para documentos almacenados en formato JSONB, se aplican mecanismos de indexaci\u00f3n existentes;\n<li class=\"l\"> Se ha habilitado por defecto el uso del compilador JIT (Just-in-Time) basado en las contribuciones de LLVM para acelerar la ejecuci\u00f3n de algunas expresiones durante el procesamiento de consultas SQL. Por ejemplo, JIT se aplica para acelerar la ejecuci\u00f3n de expresiones dentro de bloques \u00abWHERE\u00bb, en las listas de salida (listas de destino), expresiones agregadas y algunas operaciones internas;\n<li class=\"l\"> Se ha aumentado significativamente el rendimiento del indexado. Los \u00edndices B-tree est\u00e1n optimizados para trabajar en condiciones de cambios frecuentes en los \u00edndices: en las pruebas TPC-C se observa un aumento general del rendimiento y una reducci\u00f3n en el consumo de espacio en disco de un 40% en promedio. Se han reducido los costos asociados a la generaci\u00f3n del registro de escritura anticipada (WAL) para los tipos de \u00edndices GiST, GIN y SP-GiST. Para GiST se ha a\u00f1adido la posibilidad de crear \u00edndices de envoltura (a trav\u00e9s de la expresi\u00f3n INCLUDE) que incluyen columnas adicionales. En la operaci\u00f3n <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/sql-createstatistics.html\">CREATE STATISTICS<\/a><\/noindex> se garantiza la compatibilidad con estad\u00edsticas sobre los valores m\u00e1s t\u00edpicos (MCV), permitiendo generar planes de consulta m\u00e1s \u00f3ptimos al usar columnas con distribuci\u00f3n no uniforme;\n<li class=\"l\"> La implementaci\u00f3n del particionado se ha optimizado para consultas que abarcan tablas con miles de secciones, limit\u00e1ndose a la selecci\u00f3n de un subconjunto restringido de datos. Se ha aumentado el rendimiento de la adici\u00f3n de datos a las tablas particionadas mediante operaciones INSERT y COPY, y se ha facilitado la capacidad de a\u00f1adir nuevas secciones a trav\u00e9s de \u00abALTER TABLE ATTACH PARTITION\u00bb sin bloquear la ejecuci\u00f3n de consultas;\n<li class=\"l\"> Se ha a\u00f1adido soporte para el despliegue autom\u00e1tico en l\u00ednea de expresiones de tabla comunes (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/queries-with.html\">Common Table Expression<\/a><\/noindex>, CTE), que permiten utilizar conjuntos de resultados nombrados temporales definidos mediante el operador WITH. El despliegue en l\u00ednea permite mejorar el rendimiento de la mayor\u00eda de las consultas, pero por ahora se aplica solo a CTE no recursivas;\n<li class=\"l\"> Se ha a\u00f1adido soporte para <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/collation.html#COLLATION-NONDETERMINISTIC\">no deterministas<\/a><\/noindex> propiedades de la configuraci\u00f3n regional \u00abCollation\u00bb, que permite establecer reglas de ordenaci\u00f3n y m\u00e9todos de comparaci\u00f3n teniendo en cuenta el significado de los caracteres (por ejemplo, al ordenar valores num\u00e9ricos se considera la presencia de un signo negativo y un punto antes del n\u00famero, as\u00ed como diferentes formas de escritura, mientras que al comparar no se tiene en cuenta el caso de los caracteres ni la presencia de un acento);\n<li class=\"l\"> Se ha a\u00f1adido soporte para la autenticaci\u00f3n multifactor del cliente, en la que en pg_hba.conf se puede combinar la autenticaci\u00f3n mediante certificado SSL (clientcert=verify-full) con un m\u00e9todo de autenticaci\u00f3n adicional, como scram-sha-256;\n<li class=\"l\"> Se ha a\u00f1adido soporte para el cifrado de la comunicaci\u00f3n al autenticarse a trav\u00e9s de <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/gssapi-auth.html\">GSSAPI<\/a><\/noindex>, tanto del lado del cliente como del lado del servidor;\n<li class=\"l\"> Se ha a\u00f1adido soporte para la definici\u00f3n de servidores LDAP basados en registros \u00abDNS SRV\u00bb, si PostgreSQL se ha compilado con OpenLDAP;\n<li class=\"l\"> Se ha a\u00f1adido la operaci\u00f3n \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/sql-reindex.html#SQL-REINDEX-CONCURRENTLY\">REINDEX CONCURRENTLY<\/a><\/noindex>\u00bb para reorganizar \u00edndices sin bloquear las operaciones de escritura en el \u00edndice;\n<li class=\"l\"> Se ha a\u00f1adido el comando <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/app-pgchecksums.html\">pg_checksums<\/a><\/noindex>, que permite habilitar y deshabilitar la verificaci\u00f3n de sumas de verificaci\u00f3n para p\u00e1ginas de datos en una base de datos existente (anteriormente esta operaci\u00f3n solo se soportaba durante la inicializaci\u00f3n de la base de datos);\n<li class=\"l\"> Se ha proporcionado la salida de un indicador de progreso para las operaciones CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL y pg_checksums;\n<li class=\"l\"> Se ha a\u00f1adido el comando \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/tableam.html\">CREATE ACCESS METHOD<\/a><\/noindex>\u00bb para conectar controladores de nuevos m\u00e9todos de almacenamiento de tablas, optimizados para diversas tareas espec\u00edficas. En la actualidad, el \u00fanico m\u00e9todo de acceso incorporado a las tablas es \u00abheap\u00bb;\n<li class=\"l\"> El archivo de configuraci\u00f3n recovery.conf se ha combinado con postgresql.conf. Ahora, como indicadores de transici\u00f3n al estado de recuperaci\u00f3n tras un fallo, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/runtime-config-wal.html#RUNTIME-CONFIG-WAL-ARCHIVE-RECOVERY\">se deben<\/a><\/noindex> utilizar los archivos recovery.signal y standby.signal.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fuente: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51604\">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 12. \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 2024 \u0433\u043e\u0434\u0430. \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\u0434\u0435\u0440\u0436\u043a\u0430 &#171;\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432&#171;, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043e\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0432 \u0442\u043e\u0439 \u0436\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 (\u0430\u043d\u0430\u043b\u043e\u0433 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439, \u043d\u043e \u0434\u043b\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432). \u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0434\u0432\u0443\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-38636","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 12.\" \/>\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\/es\/blog\/news\/reliz-subd-postgresql-12\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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 12 | 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 12.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/news\/reliz-subd-postgresql-12\" \/>\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=\"2019-10-31T19:24:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:24:58+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\udd47Lanzamiento de la base de datos PostgreSQL 12 | ProHoster","description":"Despu\u00e9s de un a\u00f1o de desarrollo, se ha publicado una nueva rama estable de la base de datos PostgreSQL 12.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/reliz-subd-postgresql-12","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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 12 | 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 12.","og:url":"https:\/\/prohoster.info\/es\/blog\/news\/reliz-subd-postgresql-12","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":"2019-10-31T19:24:58+00:00","article:modified_time":"2019-10-31T19:24:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38636","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":null,"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 22:52:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:06:23","updated":"2026-01-23 22:52:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/38636","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=38636"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/38636\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=38636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=38636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=38636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}