{"id":102410,"date":"2021-11-28T09:36:38","date_gmt":"2021-11-28T07:36:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-postgrest-9-0-0-nadstrojki-dlya-prevrashheniya-bd-v-api-restful"},"modified":"2021-11-28T09:36:38","modified_gmt":"2021-11-28T07:36:39","slug":"reliz-postgrest-9-0-0-nadstrojki-dlya-prevrashheniya-bd-v-api-restful","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/news\/reliz-postgrest-9-0-0-nadstrojki-dlya-prevrashheniya-bd-v-api-restful","title":{"rendered":"Lanzamiento de PostgREST 9.0.0, una extensi\u00f3n para convertir bases de datos en API RESTful","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Se ha lanzado PostgREST 9.0.0, un servidor web independiente que implementa una ligera extensi\u00f3n para el sistema de gesti\u00f3n de bases de datos PostgreSQL, que traduce objetos desde una base de datos existente a una API RESTful. En lugar de reflejar datos relacionales en objetos (ORM), en PostgREST las vistas se crean directamente en la base de datos. En el lado de la base de datos tambi\u00e9n se realizan la serializaci\u00f3n de respuestas JSON, la verificaci\u00f3n de datos y la autorizaci\u00f3n. La capacidad del sistema es suficiente para manejar hasta 2000 solicitudes por segundo en un t\u00edpico <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/es\/server\/dts-newyork\/\"   title=\"servidor\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2689\">servidor<\/a>. El c\u00f3digo del proyecto est\u00e1 escrito en Haskell y se distribuye bajo la licencia MIT.       <\/p>\n<p>Por ejemplo, utilizando solo el mecanismo de privilegios en la base de datos, se puede otorgar acceso a los datos (tablas, vistas y procedimientos almacenados) a trav\u00e9s del protocolo HTTP. No es necesario codificar dicha traducci\u00f3n y, por lo general, es suficiente con un comando GRANT para que la tabla est\u00e9 disponible a trav\u00e9s de REST API. Se puede configurar el acceso mediante token (JWT) y organizar 'multitenancy' mediante el uso de seguridad din\u00e1mica a nivel de filas (Row Level Security).    <\/p>\n<p>Arquitect\u00f3nicamente, PostgREST se orienta hacia una arquitectura orientada a datos (Data-Oriented Architecture), donde los microservicios no mantienen su estado, sino que utilizan un acceso \u00fanico a los datos (Data Access Layer).      <center><img decoding=\"async\" alt=\"Lanzamiento de PostgREST 9.0.0, una extensi\u00f3n para convertir bases de datos en API RESTful\" src=\"\/wp-content\/uploads\/2021\/11\/9065ad855f12bb16ed2b09369e5b46c9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>Entre los cambios en la nueva versi\u00f3n:  <\/p>\n<ul>\n<li class=\"l\"> En la cach\u00e9 del esquema de almacenamiento se han a\u00f1adido tablas particionadas, lo que ha permitido para tales tablas incrustar operaciones UPSERT e INSERT en la respuesta Location, realizar solicitudes OPTIONS e implementar soporte para OpenAPI.\n<li class=\"l\"> A trav\u00e9s de RPC POST se permite llamar funciones con un par\u00e1metro no nombrado.\n<li class=\"l\"> Se permite invocar funciones con un par\u00e1metro JSON sin el encabezado 'Prefer: params=single-object'.\n<li class=\"l\"> Se permite cargar en funciones datos con el tipo bytea, utilizando solicitudes con 'Content-Type: application\/octet-stream'.\n<li class=\"l\"> Se permite cargar texto en funciones, utilizando solicitudes con 'Content-Type: text\/plain'.\n<li class=\"l\"> Se ha a\u00f1adido soporte para escapar caracteres dentro de comillas dobles, por ejemplo, '?col=in.(&#171;Double&#092;&#187;Quote&#187;), ?col=in.(&#171;Back&#092;&#092;slash&#187;)&#187;.\n<li class=\"l\"> Se ha proporcionado la capacidad de filtrar recursos de primer nivel basados en filtros incorporados ('\/projects?select=*,clients!inner(*)&amp;clients.id=eq.12'.\n<li class=\"l\"> En la operaci\u00f3n 'is' se permite el uso del valor 'unknown'.\n<li class=\"l\"> Se ha garantizado la compatibilidad con PostgreSQL 14 y se ha retirado el soporte para PostgreSQL 9.5.    <\/ul>\n<p>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56245\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 PostgREST 9.0.0, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043b\u0435\u0433\u043a\u043e\u0439 \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a \u0421\u0423\u0411\u0414 PostgreSQL, \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0438\u0437 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 RESTful API. \u0412\u043c\u0435\u0441\u0442\u043e \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u044b (ORM) \u0432 PostgREST \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u044f\u043c\u043e \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u041d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0411\u0414 \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 JSON, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f. \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":102411,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-102410","post","type-post","status-publish","format-standard","has-post-thumbnail","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=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 PostgREST 9.0.0, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043b\u0435\u0433\u043a\u043e\u0439 \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a \u0421\u0423\u0411\u0414 PostgreSQL, \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0438\u0437 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 RESTful API.\" \/>\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-postgrest-9-0-0-nadstrojki-dlya-prevrashheniya-bd-v-api-restful\" \/>\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 PostgREST 9.0.0, \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0411\u0414 \u0432 API RESTful | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 PostgREST 9.0.0, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043b\u0435\u0433\u043a\u043e\u0439 \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a \u0421\u0423\u0411\u0414 PostgreSQL, \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0438\u0437 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 RESTful API.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/news\/reliz-postgrest-9-0-0-nadstrojki-dlya-prevrashheniya-bd-v-api-restful\" \/>\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=\"2021-11-28T07:36:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-11-28T07:36:39+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 Lanzamiento de PostgREST 9.0.0, una capa para convertir bases de datos en API RESTful | ProHoster","description":"Se realiz\u00f3 el lanzamiento de PostgREST 9.0.0, un servidor web independiente que implementa una ligera capa sobre la base de datos PostgreSQL, transmitiendo objetos de la base de datos existente a una API RESTful.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/reliz-postgrest-9-0-0-nadstrojki-dlya-prevrashheniya-bd-v-api-restful","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 PostgREST 9.0.0, \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0411\u0414 \u0432 API RESTful | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 PostgREST 9.0.0, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043b\u0435\u0433\u043a\u043e\u0439 \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a \u0421\u0423\u0411\u0414 PostgreSQL, \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0438\u0437 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 RESTful API.","og:url":"https:\/\/prohoster.info\/es\/blog\/news\/reliz-postgrest-9-0-0-nadstrojki-dlya-prevrashheniya-bd-v-api-restful","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":"2021-11-28T07:36:39+00:00","article:modified_time":"2021-11-28T07:36:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102410","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-11-28 07:37:37","updated":"2026-02-09 21:39:48","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\/102410","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=102410"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/102410\/revisions"}],"predecessor-version":[{"id":159969,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/102410\/revisions\/159969"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/102411"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=102410"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=102410"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=102410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}