{"id":111622,"date":"2026-09-09T12:00:00","date_gmt":"2026-09-09T12:00:00","guid":{"rendered":"https:\/\/www.red-gate.com\/simple-talk\/?p=111622"},"modified":"2026-08-26T15:57:45","modified_gmt":"2026-08-26T15:57:45","slug":"bi-directional-logical-replication-in-postgresql-a-practical-guide","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/databases\/bi-directional-logical-replication-in-postgresql-a-practical-guide\/","title":{"rendered":"Bi-directional logical replication in PostgreSQL: a practical guide"},"content":{"rendered":"\n<p><strong>Logical<\/strong> <strong>replication has long been a feature of many database management systems. It&#8217;s the simple process of copying and maintaining identical data across multiple database servers. The methods taken to achieve this process, however, are quite varied &#8211; and new methods are being introduced all the time. <\/strong><\/p>\n\n\n\n<p><strong>One of the newest methods is PostgreSQL&#8217;s bi-directional logical replication &#8211; and that&#8217;s the focus of this article.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-logical-replication\">What is logical replication?<\/h2>\n\n\n\n<p><strong><a href=\"https:\/\/www.postgresql.org\/docs\/current\/logical-replication.html\" target=\"_blank\" rel=\"noreferrer noopener\">Logical replication<\/a> is how database management systems replicate changes to data. It refers to transmitting \u2013 or <em>replicating<\/em> \u2013 the \u201clogic\u201d of changes to data (<em>logical<\/em>), rather than copying <em>all<\/em> of the underlying storage files.<\/strong><\/p>\n\n\n\n<p>The logic between logical replication refers to copying individual operations pertaining to a database (<a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/sql-server\/writing-an-efficient-query\/\" target=\"_blank\" rel=\"noreferrer noopener\">SQL queries<\/a>), allowing the destination database to replay those SQL queries and welcome the data.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"984\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2026\/06\/image-26-1024x984.png\" alt=\"an image showing the basics of logical replication\" class=\"wp-image-111623\" srcset=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2026\/06\/image-26-1024x984.png 1024w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2026\/06\/image-26-300x288.png 300w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2026\/06\/image-26-768x738.png 768w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2026\/06\/image-26.png 1141w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em>The basics of logical replication<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-bi-directional-logical-replication-in-postgresql\">What is bi-directional logical replication in PostgreSQL?<\/h2>\n\n\n\n<p><strong>Bi-directional logical replication, introduced in <a href=\"https:\/\/www.postgresql.org\/about\/news\/postgresql-16-released-2715\/\" target=\"_blank\" rel=\"noreferrer noopener\">PostgreSQL version 16<\/a>, is where two or more PostgreSQL-based database instances exchange data at the same time.<\/strong><\/p>\n\n\n\n<p> It&#8217;s also sometimes referred to as a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Multi-master_replication\" target=\"_blank\" rel=\"noreferrer noopener\">multi-master database replication<\/a> setup.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"728\" height=\"247\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2026\/06\/image-27.png\" alt=\"a graph showing Bi-Directional Logical Replication in Postgres\" class=\"wp-image-111624\" srcset=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2026\/06\/image-27.png 728w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2026\/06\/image-27-300x102.png 300w\" sizes=\"auto, (max-width: 728px) 100vw, 728px\" \/><figcaption class=\"wp-element-caption\"><em>Bi-directional logical replication in PostgreSQL<\/em><\/figcaption><\/figure>\n\n\n\n<p>With bi-directional logical replication, if you make changes to one PostgreSQL instance, they&#8217;ll be replicated to other PostgreSQL instances as well. In such a replication setup, all <a href=\"https:\/\/www.ibm.com\/docs\/en\/app-connect\/11.0.0?topic=nodes-database-node\" target=\"_blank\" rel=\"noreferrer noopener\">database nodes<\/a> are publishers <em>and<\/em> subscribers: both servers can read, write, and update data.<\/p>\n\n\n\n<section id=\"my-first-block-block_ce6819d2d04f443c453917f417cfbe14\" class=\"my-first-block alignwide\">\n    <div class=\"bg-brand-600 text-base-white py-5xl px-4xl rounded-sm bg-gradient-to-r from-brand-600 to-brand-500 red\">\n        <div class=\"gap-4xl items-start md:items-center flex flex-col md:flex-row justify-between\">\n            <div class=\"flex-1 col-span-10 lg:col-span-7\">\n                <h3 class=\"mt-0 font-display mb-2 text-display-sm\">Get started with PostgreSQL &#8211; free book download<\/h3>\n                <div class=\"child:last-of-type:mb-0\">\n                                            &#8216;Introduction to PostgreSQL for the data professional&#8217;, written by Grant Fritchey and Ryan Booz, covers all the basics of how to get started with PostgreSQL.                                    <\/div>\n            <\/div>\n                                            <a href=\"https:\/\/www.red-gate.com\/hub\/books\/introduction-to-postgresql-for-the-data-professional\/\" class=\"btn btn--secondary btn--lg\" aria-label=\"Download your free copy: Get started with PostgreSQL - free book download\">Download your free copy<\/a>\n                    <\/div>\n    <\/div>\n<\/section>\n\n\n<p>This replication method is made easier when we pass specific replication configuration options using<br><code>CREATE SUBSCRIPTION \u2026 WITH<\/code>:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:tsql decode:true \">CREATE SUBSCRIPTION database_subscriber CONNECTION\n\u2018host=publisher dbname=your_database user=replication_user \npassword=replication_password\u2019\n\nPUBLICATION database_publisher\n\nWITH\n\n(\n\n[options]\n\n);<\/pre><\/div>\n\n\n\n<p>This tells your PostgreSQL database that:<\/p>\n\n\n<div class=\"block-core-list\">\n<ul class=\"wp-block-list\">\n<li>This is a subscriber database node named <code>database_subscriber<\/code>.<br><br><\/li>\n\n\n\n<li>We connect to a publisher database with the credentials supplied in <code>CONNECTION<\/code>.<br><br><\/li>\n\n\n\n<li>A publisher database is named <code>publisher_name<\/code>.<br><br><\/li>\n\n\n\n<li><code>WITH<\/code>, and options within, define the specific options relevant to the publisher database node.<\/li>\n<\/ul>\n<\/div>\n\n\n<p>In this case, <code>[options]<\/code> would include any applicable filtering options. For example, we could use the <code>ORIGIN=NONE<\/code> option as part of the options we define to tell our database that only new data should be replicated across our database nodes.<\/p>\n\n\n\n<p>To finish setting everything up, we\u2019d need to configure the publisher database node too. Something like this would work:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:tsql decode:true \">CREATE TABLE `data_table` (\n`id` INT PRIMARY KEY,\n`username` TEXT\n);\n\nCREATE PUBLICATION `database_publisher`\nFOR TABLE `data_table`\nWITH (\npublish = \u2018insert, update, delete\u2019\n);<\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-are-the-pros-and-cons-of-bi-directional-logical-replication-in-postgresql\">What are the pros and cons of bi-directional logical replication in PostgreSQL?<\/h2>\n\n\n\n<p>Bi-directional logical replication in PostgreSQL, as with everything else, is not 100% perfect: there are pros and cons. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-the-advantages-of-bi-directional-logical-replication-in-postgresql\">The advantages of bi-directional logical replication in PostgreSQL<\/h3>\n\n\n\n<p>The advantages (pros) are:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-changes-to-any-database-nodes-are-propagated-to-the-others\">Changes to any database nodes are propagated to the others<\/h4>\n\n\n\n<p>This is the main benefit of bi-directional logical replication in PostgreSQL. It allows both database nodes to publish <em>and<\/em> subscribe to changes made within themselves, meaning that updates made on any database node can automatically propagate to the others.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-improved-disaster-recovery\">Improved disaster recovery<\/h4>\n\n\n\n<p id=\"h-improved-disaster-recovery-as-with-many-replication-types-bi-directional-logical-replication-improves-disaster-recovery-because-if-any-database-node-fails-the-remaining-nodes-will-continue-to-operate-as-usual-plus-if-two-or-more-nodes-are-still-active-they-can-continue-replicating-any-changes-to-data-between-themselves\">As with many replication types, bi-directional logical replication improves <a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/sql-server\/database-administration-sql-server\/planning-for-disaster\/\" target=\"_blank\" rel=\"noreferrer noopener\">disaster recovery<\/a> because, if any database node fails, the remaining nodes will continue to operate as usual. Plus, if <em>two or more<\/em> nodes are still active, they can continue replicating any changes to data between themselves.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-strong-data-distribution\">Strong data distribution<\/h4>\n\n\n\n<p>When bi-directional logical replication is in use, data within PostgreSQL can be replicated across multiple regions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-the-disadvantages-of-bi-directional-logical-replication-in-postgresql\">The disadvantages of bi-directional logical replication in PostgreSQL<\/h3>\n\n\n\n<p>What&#8217;s not-so-good about bi-directional logical replication in PostgreSQL? Here are the cons:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-bi-directional-logical-replication-only-replicates-changes-to-data\">Bi-directional logical replication <em>only<\/em> replicates changes to data<\/h4>\n\n\n\n<p id=\"h-bi-directional-logical-replication-only-replicates-changes-to-datanly-insert-update-and-delete-sql-statements-are-replicated-if-any-other-operations-are-required-they-must-be-performed-manually\">Only the <code>INSERT<\/code>, <code>UPDATE<\/code>, and <code>DELETE<\/code> <a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/sql-server\/t-sql-programming-sql-server\/the-basic-t-sql-select-statement\/\" target=\"_blank\" rel=\"noreferrer noopener\">SQL statements<\/a> are replicated. If any other operations are required, they must be performed manually.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-ddl-data-definition-language-statements-are-not-replicated\">DDL (data definition language) statements are not replicated<\/h4>\n\n\n\n<p>Similarly, if you alter tables, drop or create columns or indexes within your database node, the changes must be propagated manually. Bi-directional logical replication does not have you covered in this regard.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-issues-with-auto-generated-ids-and-similar\">Issues with auto-generated IDs (and similar)<\/h4>\n\n\n\n<p id=\"h-issues-with-auto-generated-ids-and-similar-according-to-some-sources-since-postgres-uses-sequences-to-automatically-increment-values-if-different-database-nodes-insert-a-row-bearing-the-same-generated-id-into-the-same-table-you-may-face-some-issues-and-manual-double-checking-may-be-required\">According to some sources, since PostgreSQL uses <a href=\"https:\/\/neon.com\/postgresql\/tutorial\/sequences\" target=\"_blank\" rel=\"noreferrer noopener\">sequences<\/a> to automatically increment values, if different database nodes insert a row bearing the same generated ID into the same table, you may face issues. Manual double-checking is advised.<\/p>\n\n\n\n<section id=\"my-first-block-block_860db1a47f1f7ae25dbe0f3491910e33\" class=\"my-first-block alignwide\">\n    <div class=\"bg-brand-600 text-base-white py-5xl px-4xl rounded-sm bg-gradient-to-r from-brand-600 to-brand-500 red\">\n        <div class=\"gap-4xl items-start md:items-center flex flex-col md:flex-row justify-between\">\n            <div class=\"flex-1 col-span-10 lg:col-span-7\">\n                <h3 class=\"mt-0 font-display mb-2 text-display-sm\">Move fast. Govern at scale.<\/h3>\n                <div class=\"child:last-of-type:mb-0\">\n                                            Redgate Flyway Enterprise embeds guardrails in the database layer, so every change is policy-checked, deterministic, and traceable.                                    <\/div>\n            <\/div>\n                                            <a href=\"https:\/\/www.red-gate.com\/products\/flyway\/enterprise\/\" class=\"btn btn--secondary btn--lg\" aria-label=\"Try for free: Move fast. Govern at scale.\">Try for free<\/a>\n                    <\/div>\n    <\/div>\n<\/section>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-should-i-utilize-bi-directional-logical-replication-in-postgresql\">Should I utilize bi-directional logical replication in PostgreSQL?<\/h2>\n\n\n\n<p>In reality, the boring answer is &#8211; as is often the case &#8211; &#8220;it depends&#8221;. It depends because:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-bi-directional-logical-replication-is-only-available-within-postgres-16-and-above\">Bi-directional logical replication is only available within Postgres 16 and above<\/h4>\n\n\n\n<p>If you\u2019re not running PostgreSQL version &gt;= 16, <a href=\"https:\/\/www.postgresql.org\/docs\/current\/upgrading.html\" target=\"_blank\" rel=\"noreferrer noopener\">upgrade<\/a> or <a href=\"https:\/\/www.postgresql.org\/docs\/current\/logical-replication.html\" target=\"_blank\" rel=\"noreferrer noopener\">explore other available options.<\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-bi-directional-logical-replication-works-differently-in-specific-versions-of-postgresql\">Bi-directional logical replication works differently in specific versions of PostgreSQL<\/h4>\n\n\n\n<p>While <a href=\"https:\/\/www.postgresql.org\/about\/news\/postgresql-16-released-2715\/#:~:text=and%20subtransaction%20searches.-,Logical%20replication,-Logical%20replication%20lets\" target=\"_blank\" rel=\"noreferrer noopener\">PostgreSQL version 16 introduced bi-directional logical replication<\/a>, version 17 then further enhanced it. This means that you need to decide which version is best for your use case &#8211; there&#8217;s no &#8216;one-size-fits-all&#8217; answer.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-bi-directional-logical-replication-only-works-if-you-run-two-or-more-database-nodes\">Bi-directional logical replication only works if you run two or more database nodes<\/h4>\n\n\n\n<p id=\"h-bi-directional-logical-replication-only-works-if-you-run-two-or-more-database-nodes-with-everything-replication-related-you-must-have-two-or-more-database-nodes-to-replicate-your-data-if-you-re-running-a-single-server-where-are-you-going-to-replicate-your-most-precious-assets\">As with everything replication-related, you must have two or more database nodes in order for it to replicate your data. If you\u2019re running a single server, where exactly are you going to replicate to?<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-you-mustn-t-modify-data-beyond-using-simple-create-update-and-delete-queries\">You mustn\u2019t modify data beyond using simple <code>CREATE<\/code>, <code>UPDATE<\/code>, and <code>DELETE<\/code> queries<\/h4>\n\n\n\n<p>Bi-directional logical replication in PostgreSQL doesn&#8217;t act on anything beyond simple <code>UPDATE<\/code>, <code>DELETE<\/code>, and data creation (<code>INSERT<\/code>) operations. If your use case necessitates frequent altercations to data or its structure, you\u2019re going to have a hard time, because you\u2019d have to perform all of those operations yourself &#8211; <em>regardless<\/em> of if you replicate or not.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-your-databases-need-to-be-configured-properly\">Your databases need to be configured properly<\/h4>\n\n\n\n<p>If multiple nodes need to accept basic operations, your application is configured to deal with schema altercations, and you can manage the added operational complexity, bi-directional logical replication might be for you.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-to-set-up-bi-directional-logical-replication-in-postgresql\">How to set up bi-directional logical replication in PostgreSQL<\/h2>\n\n\n\n<p><strong>Further to these points, bi-directional logical replication in PostgreSQL can be quite hard to set up, but here&#8217;s a guide to help you out.<\/strong> <\/p>\n\n\n\n<p>You will need to have PostgreSQL &gt;=16 at the ready. Then, follow these steps:<\/p>\n\n\n\n<p><strong>Ensure that pg_hba.conf is configured to allow replication<\/strong>, by checking that these lines exist on the file within <em>all<\/em> database nodes:<br><code># Allow replication connections from localhost<br>host&nbsp; &nbsp; replication &nbsp; &nbsp; all &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 127.0.0.1\/32&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; trust<\/code><\/p>\n\n\n\n<p>Next, <strong>ensure that both database nodes are running<\/strong>, and that each database has data within itself (tables, etc.)<\/p>\n\n\n\n<p>Then, <strong>connect to each node, and create a publication<\/strong>:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:tsql decode:true \">-- On db1\npostgres=# CREATE PUBLICATION publisher_db1 FOR TABLE\n your_table;\n-- On db2\npostgres=# CREATE PUBLICATION publisher_db2 FOR TABLE\nyour_table;<\/pre><\/div>\n\n\n\n<p>And <strong>create subscriptions<\/strong> on each database node, and <strong>ensure they run origin filtering<\/strong>:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:tsql decode:true \">-- On db1\npostgres=# CREATE SUBSCRIPTION subscriber_db2 CONNECTION\n'host=127.0.0.1 port=5433 user=username dbname=dbname'\nPUBLICATION publisher_db2 WITH (origin = 'none');\n-- On db2\npostgres=# CREATE SUBSCRIPTION subscriber_db1 CONNECTION\n'host=127.0.0.1 port=5432 user=username dbname=dbname'\nPUBLICATION publisher_db1 WITH (origin = 'none');<\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-summary-bi-directional-logical-replication-in-postgresql\">Summary: bi-directional logical replication in PostgreSQL<\/h2>\n\n\n\n<p>And that&#8217;s it &#8211; everything you need to know about bi-directional logical replication in PostgreSQL. What do you think? Have you used it yourself? I&#8217;d love to hear from you down in the comments below!<\/p>\n\n\n\n<div id=\"callout-block_5742e12f05153eb0c7439df4b89b9e72\" class=\"callout alignnone\">\n    <div class=\"child-last:mb-0 child-first:mt-0 bg-gray-50 dark:bg-gray-950 p-4xl my-3xl\">\n\n<p><strong>You may also be interested in&#8230;<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/postgresql\/\" target=\"_blank\" rel=\"noreferrer noopener\">Simple Talk&#8217;s full archive of PostgreSQL articles and guides<\/a><\/p>\n\n<\/div>\n<\/div> \n\n\n<section id=\"faq\" class=\"faq-block my-5xl\">\n    <h2>FAQs: Bi-directional logical replication in PostgreSQL<\/h2>\n\n                        <h3 class=\"mt-4xl\">1. What is bi-directional logical replication in PostgreSQL?<\/h3>\n            <div class=\"faq-answer\">\n                <p class=\"font-claude-response-body break-words whitespace-normal\">It&#8217;s a replication setup, introduced in PostgreSQL 16, where two or more database instances act as both publisher and subscriber simultaneously \u2014 sometimes called multi-master replication. Changes made on any node are replicated to the others.<\/p>\n            <\/div>\n                    <h3 class=\"mt-4xl\">2. What version of PostgreSQL do I need to use bi-directional logical replication?<\/h3>\n            <div class=\"faq-answer\">\n                <p class=\"font-claude-response-body break-words whitespace-normal\">You need PostgreSQL 16 or later. Version 17 further improved on the feature, so it&#8217;s worth checking which version best suits your setup before implementing.<\/p>\n            <\/div>\n                    <h3 class=\"mt-4xl\">3. What operations does bi-directional logical replication support?<\/h3>\n            <div class=\"faq-answer\">\n                <p class=\"font-claude-response-body break-words whitespace-normal\">Only <code>INSERT<\/code>, <code>UPDATE<\/code>, and <code>DELETE<\/code> statements are replicated. DDL changes (like altering tables or dropping columns) are not replicated automatically and must be applied manually to each node.<\/p>\n            <\/div>\n                    <h3 class=\"mt-4xl\">4. What are the main benefits of bi-directional logical replication in PostgreSQL?<\/h3>\n            <div class=\"faq-answer\">\n                <p class=\"font-claude-response-body break-words whitespace-normal\">It propagates changes across all nodes automatically, improves disaster recovery since remaining nodes keep operating if one fails, and supports strong data distribution across regions.<\/p>\n            <\/div>\n                    <h3 class=\"mt-4xl\">5. Are there any risks or downsides to bi-directional logical replication in PostgreSQL?<\/h3>\n            <div class=\"faq-answer\">\n                <p class=\"font-claude-response-body break-words whitespace-normal\">Yes \u2014 DDL changes require manual syncing, and auto-generated IDs (via sequences) can collide across nodes if the same ID is inserted independently on different servers. Careful configuration and monitoring are needed to avoid conflicts.<\/p>\n            <\/div>\n                    <h3 class=\"mt-4xl\">6. Do I need multiple database servers to use it?<\/h3>\n            <div class=\"faq-answer\">\n                <p class=\"font-claude-response-body break-words whitespace-normal\">Yes. Bi-directional logical replication only makes sense with two or more database nodes \u2014 there&#8217;s nothing to replicate to on a single server.<\/p>\n            <\/div>\n            <\/section>\n","protected":false},"excerpt":{"rendered":"<p>Learn how bi-directional logical replication works in PostgreSQL 16+, including setup steps, key pros and cons, and whether it&#8217;s the right fit for your database architecture.&hellip;<\/p>\n","protected":false},"author":339547,"featured_media":105920,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[143523,53,143534],"tags":[158978],"coauthors":[146040],"class_list":["post-111622","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-databases","category-featured","category-postgresql","tag-postgresql"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/111622","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/339547"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=111622"}],"version-history":[{"count":13,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/111622\/revisions"}],"predecessor-version":[{"id":112592,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/111622\/revisions\/112592"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media\/105920"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=111622"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=111622"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=111622"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=111622"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}