{"id":6806,"date":"2026-04-23T00:26:08","date_gmt":"2026-04-22T22:26:08","guid":{"rendered":"https:\/\/rootfan.com\/?p=6806"},"modified":"2026-04-23T00:26:11","modified_gmt":"2026-04-22T22:26:11","slug":"guia-de-migracion-de-oracle-a-postgresql","status":"publish","type":"post","link":"https:\/\/rootfan.com\/es\/oracle-to-postgresql-migration-guide\/","title":{"rendered":"Gu\u00eda de Migraci\u00f3n de Oracle a PostgreSQL: Ejemplos de OLTP y Data Warehouse"},"content":{"rendered":"<p><strong>En resumen<\/strong> El trabajo manual en una migraci\u00f3n de Oracle a PostgreSQL depende enteramente de c\u00f3mo se construy\u00f3 el esquema, no de su tama\u00f1o.<br>Esta gu\u00eda mapea tres patrones comunes de esquemas de Oracle al ejemplo de migraci\u00f3n espec\u00edfico que cubre cada uno: OLTP heredado, OLTP moderno y data warehouse.<br>Si no est\u00e1 seguro de cu\u00e1l se aplica a su base de datos, la secci\u00f3n de diagn\u00f3stico a continuaci\u00f3n le da cuatro preguntas para averiguarlo.<\/p>\n\n\n\n<!--more-->\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Tres administradores de bases de datos pueden decir \u201cEstoy migrando Oracle a PostgreSQL\u201d y enfrentar problemas completamente diferentes.<br>El primero tiene un ERP de 15 a\u00f1os funcionando en Oracle 10g con pares de secuencias-disparadores en cada tabla.<br>El segundo tiene una aplicaci\u00f3n de pedidos de clientes construida sobre Oracle 19c con columnas IDENTITY y JSON almacenado en BLOBs.<br>La tercera es migrar un almac\u00e9n de datos con tablas de hechos particionadas por rangos, vistas materializadas e \u00edndices de mapa de bits.<br>ora2pg maneja los tres.<br>El trabajo manual es completamente diferente en cada caso.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>\u00cdndice<\/h2><nav><ul><li><a href=\"#why-does-schema-type-determine-migration-effort\">\u00bfPor qu\u00e9 el tipo de esquema determina el esfuerzo de migraci\u00f3n?<\/a><\/li><li><a href=\"#legacy-oltp-the-hr-schema\">Legado OLTP: El esquema RRHH<\/a><\/li><li><a href=\"#modern-oltp-the-co-schema\">OLTP Moderno: El Esquema CO<\/a><\/li><li><a href=\"#data-warehouse-the-sh-schema\">Data Warehouse: El Esquema SH<\/a><\/li><li><a href=\"#which-guide-applies-to-your-schema\">\u00bfA qu\u00e9 gu\u00eda se aplica su esquema?<\/a><\/li><li><a href=\"#frequently-asked-questions\">Preguntas frecuentes<\/a><ul><li><a href=\"#faq-question-1776894302619\">\u00bfCon qu\u00e9 gu\u00eda deber\u00eda empezar si nunca antes he realizado una migraci\u00f3n de Oracle a PostgreSQL?<\/a><\/li><li><a href=\"#faq-question-1776894303619\">\u00bfNecesito leer las tres gu\u00edas?<\/a><\/li><li><a href=\"#faq-question-1776894304619\">\u00bfSon estas gu\u00edas espec\u00edficas de una versi\u00f3n particular de Oracle?<\/a><\/li><li><a href=\"#faq-question-1776894305619\">\u00bfY si mi esquema no tiene ninguno de estos patrones?<\/a><\/li><\/ul><\/li><li><a href=\"#in-summary\">En resumen<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"why-does-schema-type-determine-migration-effort\">\u00bfPor qu\u00e9 el tipo de esquema determina el esfuerzo de migraci\u00f3n?<\/h2>\n\n\n\n<p>Oracle soporta varios patrones de aplicaci\u00f3n \u2014 OLTP heredado, OLTP moderno y an\u00e1lisis\/almac\u00e9n de datos \u2014 y cada uno usa un conjunto distinto de caracter\u00edsticas espec\u00edficas de Oracle.<br>PostgreSQL admite los mismos patrones, pero de manera diferente.<br>El trabajo de traducci\u00f3n se concentra donde las caracter\u00edsticas de Oracle no tienen un equivalente directo en PostgreSQL: secuencias conectadas a disparadores, gesti\u00f3n de secuencias de columnas IDENTITY, \u00edndices de mapa de bits, programaci\u00f3n de actualizaci\u00f3n de vistas materializadas.<br>Conocer tu patr\u00f3n de esquema antes de empezar te dice exactamente d\u00f3nde est\u00e1 el trabajo manual, antes de abrir ora2pg.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"legacy-oltp-the-hr-schema\">Legado OLTP: El esquema RRHH<\/h2>\n\n\n\n<p><strong>A qu\u00e9 se parece esto<\/strong> Tablas con claves primarias basadas en secuencias, disparadores `BEFORE INSERT` que asignan el siguiente valor de secuencia al insertar, procedimientos almacenados y restricciones de clave for\u00e1nea.<br>Ejemplos del mundo real: sistemas ERP, plataformas de recursos humanos, bases de datos CRM, cualquier aplicaci\u00f3n de Oracle creada antes de Oracle 12c.<\/p>\n\n\n\n<p>El problema central es el patr\u00f3n de auto-incremento de Oracle anterior a la versi\u00f3n 12c:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nCREATE OR REPLACE TRIGGER employees_bir\nBEFORE INSERT ON employees\nFOR EACH ROW\nBEGIN\n  SELECT employees_seq.NEXTVAL INTO :NEW.employee_id FROM DUAL;\nEND;\n<\/pre><\/div>\n\n\n<p>ora2pg exporta este disparador como PL\/pgSQL.<br>Se compila sin errores en PostgreSQL.<br>El patr\u00f3n es incorrecto \u2014 PostgreSQL maneja el autoincremento a trav\u00e9s de valores predeterminados de columna que apuntan a una secuencia, no a triggers.<br>El enfoque de disparador funciona, pero a\u00f1ade una sobrecarga innecesaria en cada inserci\u00f3n y enmascara la dependencia de la secuencia del lector del esquema.<\/p>\n\n\n\n<p>La gu\u00eda de esquemas de RR. HH. cubre esta conversi\u00f3n en su totalidad, junto con otros dos problemas que aparecen en casi todas las migraciones de OLTP heredadas: el <code>%TIPO<\/code> fallo de par\u00e1metros en funciones PL\/pgSQL exportadas, y el fallo de volver a aplicar FK de ora2pg.<\/p>\n\n\n\n<p><a href=\"https:\/\/rootfan.com\/es\/ejemplo-de-migracion-con-ora2pg\/\">Lee el ejemplo completo de migraci\u00f3n del esquema HR \u2192<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"modern-oltp-the-co-schema\">OLTP Moderno: El Esquema CO<\/h2>\n\n\n\n<p><strong>A qu\u00e9 se parece esto<\/strong> Claves primarias usando <code>GENERADO POR DEFECTO EN NULO COMO IDENTIDAD<\/code>, columnas BLOB que almacenan JSON y vistas que utilizan funciones SQL espec\u00edficas de Oracle.<br>Ejemplos del mundo real: bases de datos de transacciones orientadas al cliente, sistemas de gesti\u00f3n de pedidos, cualquier aplicaci\u00f3n Oracle creada o modernizada en Oracle 12c o posterior.<\/p>\n\n\n\n<p>CO introduce tres problemas que no aparecen en el esquema de Recursos Humanos.<\/p>\n\n\n\n<p>La primera es el reinicio de la secuencia de la columna IDENTITY.<br>Despu\u00e9s de que ora2pg carga los datos, las secuencias todav\u00eda est\u00e1n en su valor inicial \u2014 no en el valor m\u00e1ximo cargado.<br>La primera inserci\u00f3n de aplicaci\u00f3n falla despu\u00e9s de la migraci\u00f3n con una violaci\u00f3n de clave duplicada.<br>La correcci\u00f3n es de una l\u00ednea <code>ALTER SEQUENCE<\/code> por tabla, pero debe ejecutarse despu\u00e9s de la carga de datos.<\/p>\n\n\n\n<p>El segundo es JSON almacenado en BLOB.<br>ora2pg exporta la columna como <code>bytea<\/code>.<br>Los datos est\u00e1n ah\u00ed pero son inutilizables para consultas JSON.<br>El tipo de destino correcto es <code>jsonb<\/code>, lo que requiere un paso de migraci\u00f3n de datos junto con la conversi\u00f3n del esquema.<\/p>\n\n\n\n<p>El tercero es SQL espec\u00edfico de Oracle en vistas.<br><code>LISTAGG<\/code>, <code>P\u00edvot<\/code>, <code>CONECTAR POR<\/code>y <code>NVL<\/code> no tienen equivalentes directos en PostgreSQL.<br>Las vistas que utilizan estas funciones deben reescribirse en SQL est\u00e1ndar antes de que funcionen.<\/p>\n\n\n\n<p><a href=\"https:\/\/rootfan.com\/es\/problemas-y-soluciones-en-la-migracion-de-oracle-a-postgresql\/\">Lee el ejemplo completo de migraci\u00f3n del esquema de CO \u2192<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Si su esquema combina patrones tanto de OLTP heredado como moderno, por ejemplo, una aplicaci\u00f3n de 15 a\u00f1os ampliada en Oracle 19c, lea ambas gu\u00edas, la de RR. HH. y la de CO.<\/p>\n\n\n\n<p>Si prefiere que un experto mapee el trabajo manual antes de comprometer a su equipo con el proyecto, <a href=\"https:\/\/rootfan.com\/es\/servicios\/\">una evaluaci\u00f3n a precio fijo cubre exactamente eso<\/a><\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"data-warehouse-the-sh-schema\">Data Warehouse: El Esquema SH<\/h2>\n\n\n\n<p><strong>A qu\u00e9 se parece esto<\/strong> Tablas de hechos particionadas por rangos, vistas materializadas utilizadas para informes preagregados e \u00edndices de mapas de bits en columnas de dimensiones de baja cardinalidad.<br>Ejemplos del mundo real: almacenes de datos de Oracle, plataformas de informes de BI, bases de datos anal\u00edticas, cualquier esquema dise\u00f1ado para informes en lugar de procesamiento transaccional.<\/p>\n\n\n\n<p>SH introduce tres problemas no vistos en RR. HH. o CO.<\/p>\n\n\n\n<p>La primera es exportar partici\u00f3n.<br>ora2pg divide una tabla particionada en dos archivos de exportaci\u00f3n separados: uno para la definici\u00f3n de la tabla padre y otro para las tablas de partici\u00f3n hijas.<br>Cargarlos en el orden incorrecto rompe la migraci\u00f3n.<br>El orden correcto es primero tabla padre, luego datos, luego particiones hijas, y ese orden es diferente de lo que sugiere la plantilla del proyecto ora2pg por defecto.<\/p>\n\n\n\n<p>La segunda es la conversi\u00f3n de \u00edndices de mapa de bits.<br>Los \u00edndices de mapa de bits de Oracle no tienen un equivalente en PostgreSQL.<br>ora2pg los convierte en \u00edndices B-tree est\u00e1ndar, lo que es el resultado correcto, pero produce un \u00edndice GIN en columnas de clave externa enteras en algunas configuraciones, lo cual es incorrecto.<br>Cada \u00edndice convertido debe ser verificado antes de la carga de datos.<\/p>\n\n\n\n<p>La tercera es la programaci\u00f3n de actualizaci\u00f3n de vistas materializadas.<br>PostgreSQL <code>REFRESCAR VISTA MATERIALIZADA<\/code> es equivalente a Oracle's <code>DBMS_MVIEW.REFRESH<\/code>.<br>El mecanismo de programaci\u00f3n no lo es.<br>Oracle utiliza <code>DBMS_JOB<\/code> o <code>DBMS_SCHEDULER<\/code>.<br>PostgreSQL no tiene ninguno.<br>Los trabajos de actualizaci\u00f3n deben recrearse utilizando pg_cron o un programador externo.<\/p>\n\n\n\n<p><a href=\"https:\/\/rootfan.com\/es\/migracion-de-ora2pg-de-oracle-a-postgresql-paso-a-paso\/\">Lee el ejemplo completo de migraci\u00f3n de esquema de SH \u2192<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"which-guide-applies-to-your-schema\">\u00bfA qu\u00e9 gu\u00eda se aplica su esquema?<\/h2>\n\n\n\n<p>Responde estas cuatro preguntas:<\/p>\n\n\n\n<p><strong>1. \u00bfC\u00f3mo se implementan las claves primarias?<\/strong><br>Secuencia + disparador BEFORE INSERT \u2192 <strong>Gu\u00eda de RR. HH.<\/strong> (OLTP heredado).<br><code>GENERADO ... COMO IDENTIDAD<\/code> \u2192 <strong>Gu\u00eda de CO<\/strong> (OLTP moderno).<br>Claves naturales o ning\u00fan patr\u00f3n de identidad \u2192 leer ambos.<\/p>\n\n\n\n<p><strong>2. \u00bfTiene su esquema tablas particionadas?<\/strong><br>S\u00ed, con <code>PARTICI\u00d3N POR RANGO<\/code> o <code>PARTITION BY LIST<\/code> \u2192 <strong>Gu\u00eda SH<\/strong> almac\u00e9n de datos.<br>No \u2192 omite la gu\u00eda SH a menos que tengas vistas materializadas.<\/p>\n\n\n\n<p><strong>3. \u00bfTienes vistas materializadas?<\/strong><br>S\u00ed <strong>Gu\u00eda SH<\/strong> cubre el problema de programaci\u00f3n de la actualizaci\u00f3n de forma completa.<br>No \u2192 esta secci\u00f3n no aplica.<\/p>\n\n\n\n<p><strong>4. \u00bfAlguna vista utiliza funciones espec\u00edficas de Oracle? <code>NVL<\/code>, <code>DECODIFICAR<\/code>, <code>LISTAGG<\/code>, <code>CONECTAR POR<\/code>, <code>ROWNUM<\/code>, o <code>P\u00edvot<\/code>?<\/strong><br>S\u00ed <strong>Gu\u00eda de CO<\/strong> cubiertas vista manual reescribiendo en detalle.<br>No \u2192 sus vistas probablemente se exportar\u00e1n limpiamente con ora2pg.<\/p>\n\n\n\n<p>La mayor\u00eda de los esquemas de producci\u00f3n reales son una combinaci\u00f3n.<br>Un ERP de 15 a\u00f1os extendido en Oracle 19c podr\u00eda tener pares de disparadores de secuencia en tablas heredadas y columnas IDENTITY en otras m\u00e1s nuevas; lea ambas gu\u00edas (RRHH y CO).<br>Si el mismo esquema tambi\u00e9n impulsa las consultas de informes sobre tablas particionadas, agregue la gu\u00eda SH.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"frequently-asked-questions\">Preguntas frecuentes<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list\">\n<div id=\"faq-question-1776894302619\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\"><strong>\u00bfCon qu\u00e9 gu\u00eda deber\u00eda empezar si nunca antes he realizado una migraci\u00f3n de Oracle a PostgreSQL?<\/strong><\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Comienza con la gu\u00eda del esquema de RR. HH.<br \/>Cubre el esquema m\u00e1s peque\u00f1o con los problemas m\u00e1s universales.<br \/>Los pares de secuencias activadas, las incompatibilidades de tipo de procedimiento almacenado y el error de reaplicaci\u00f3n de FK aparecen en casi todas las migraciones de Oracle, independientemente del tama\u00f1o o la complejidad del esquema.<br \/>La gu\u00eda de RRHH tambi\u00e9n explica el flujo de trabajo completo de ora2pg antes de que las gu\u00edas CO y SH introduzcan sus capas adicionales.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1776894303619\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\"><strong>\u00bfNecesito leer las tres gu\u00edas?<\/strong><\/h3>\n<div class=\"rank-math-answer\">\n\n<p>No necesariamente.<br \/>Lee primero el que coincide con tu patr\u00f3n de esquema principal.<br \/>Si su esquema combina elementos de m\u00e1s de una categor\u00eda \u2014columnas IDENTITY y tablas particionadas, por ejemplo\u2014 lea las secciones correspondientes de ambas gu\u00edas.<br \/>Cada gu\u00eda est\u00e1 estructurada de forma que el flujo de trabajo principal se encuentre en la primera mitad y los problemas espec\u00edficos del esquema en la segunda.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1776894304619\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\"><strong>\u00bfSon estas gu\u00edas espec\u00edficas de una versi\u00f3n particular de Oracle?<\/strong><\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Los pasos de migraci\u00f3n funcionan con Oracle 12c y versiones posteriores.<br \/>Las columnas IDENTITY, cubiertas en la gu\u00eda de CO, requieren Oracle 12c como m\u00ednimo.<br \/>El patr\u00f3n sequence-trigger, cubierto en la gu\u00eda de RRHH, es el idioma pre-12c de Oracle, pero tambi\u00e9n aparece en esquemas de 12c y 19c que no fueron modernizados.<br \/>Los tres gu\u00edas utilizan ora2pg 25.0 con Oracle 19c como origen y PostgreSQL 18 como destino.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1776894305619\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\"><strong>\u00bfY si mi esquema no tiene ninguno de estos patrones?<\/strong><\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Un esquema sin pares de disparadores de secuencia, sin columnas de IDENTIDAD, sin particionamiento y sin vistas materializadas es el caso de migraci\u00f3n m\u00e1s simple.<br \/>La gu\u00eda de RR. HH. todav\u00eda aplica; cubre el flujo de trabajo base de ora2pg, el mapeo de tipos de datos, el orden de carga de archivos y la validaci\u00f3n de PRUEBAS que requiere cada migraci\u00f3n.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"in-summary\">En resumen<\/h2>\n\n\n\n<p>Los problemas de migraci\u00f3n de Oracle a PostgreSQL son predecibles, una vez que sabes desde qu\u00e9 patr\u00f3n de esquema est\u00e1s partiendo.<br>Los esquemas OLTP heredados creados antes de Oracle 12c necesitan limpieza de triggers de secuencia y correcciones de procedimientos almacenados.<br>Los esquemas OLTP modernos en Oracle 12c y posteriores necesitan reinicios de secuencias IDENTITY y reescrituras de vistas.<br>Los esquemas de data warehouse de Oracle necesitan un manejo cuidadoso de las particiones, los \u00edndices bitmap y la programaci\u00f3n de vistas materializadas.<\/p>\n\n\n\n<p>Ejecute el informe de migraci\u00f3n primero para confirmar la estimaci\u00f3n del esfuerzo antes de comprometerse con un cronograma.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\" data-no-translation=\"\"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nora2pg -t SHOW_REPORT --estimate_cost --dump_as_html &gt; reports\/migration_report.html\n<\/pre><\/div>\n\n\n<p>Si su esquema combina patrones de m\u00e1s de una categor\u00eda, o si el informe de migraci\u00f3n se\u00f1ala complejidad que usted no sabe c\u00f3mo resolver, <a href=\"https:\/\/rootfan.com\/es\/servicios\/\">ponerse en contacto<\/a>.<br>Ofrezco una evaluaci\u00f3n de migraci\u00f3n a precio fijo que mapea cada elemento de conversi\u00f3n manual y le proporciona una estimaci\u00f3n clara del esfuerzo antes de que comience el proyecto.<\/p>","protected":false},"excerpt":{"rendered":"<p>TL;DR: The manual work in an Oracle to PostgreSQL migration depends entirely on how the schema was built \u2014 not on its size.This guide maps three common Oracle schema patterns to the specific migration example that covers each one: legacy OLTP, modern OLTP, and data warehouse.If you are unsure which applies to your database, the &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/rootfan.com\/es\/oracle-to-postgresql-migration-guide\/\" class=\"more-link\">Seguir leyendo<span class=\"screen-reader-text\"> &#8220;Oracle to PostgreSQL Migration Guide: OLTP and Data Warehouse Examples&#8221;<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":6807,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_focus_keyword":"oracle to postgres migration guide","rank_math_title":"Oracle to PostgreSQL Migration Guide: OLTP and Data Warehouse Examples","rank_math_description":"The manual work in an Oracle to PostgreSQL migration depends on how the schema was built. This guide maps legacy OLTP, modern OLTP, and data warehouse schemas to the right migration example for each.","rank_math_robots":"","rank_math_og_title":"","rank_math_og_description":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[146],"tags":[137,81],"class_list":["post-6806","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oracle-to-postgresql","tag-migration","tag-step-by-step"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/rootfan.com\/wp-content\/uploads\/8371682954_6b070daa8c_b.jpg?fit=1024%2C576&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/rootfan.com\/es\/wp-json\/wp\/v2\/posts\/6806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rootfan.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rootfan.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rootfan.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rootfan.com\/es\/wp-json\/wp\/v2\/comments?post=6806"}],"version-history":[{"count":3,"href":"https:\/\/rootfan.com\/es\/wp-json\/wp\/v2\/posts\/6806\/revisions"}],"predecessor-version":[{"id":6813,"href":"https:\/\/rootfan.com\/es\/wp-json\/wp\/v2\/posts\/6806\/revisions\/6813"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rootfan.com\/es\/wp-json\/wp\/v2\/media\/6807"}],"wp:attachment":[{"href":"https:\/\/rootfan.com\/es\/wp-json\/wp\/v2\/media?parent=6806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rootfan.com\/es\/wp-json\/wp\/v2\/categories?post=6806"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rootfan.com\/es\/wp-json\/wp\/v2\/tags?post=6806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}