{"id":27681,"date":"2023-09-08T15:02:55","date_gmt":"2023-09-08T13:02:55","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=27681"},"modified":"2023-09-08T15:02:55","modified_gmt":"2023-09-08T13:02:55","slug":"no-more-snapshot-too-old-in-postgresql-17","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/no-more-snapshot-too-old-in-postgresql-17\/","title":{"rendered":"No more snapshot too old in PostgreSQL 17"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Currently PostgreSQL has a feature which is called snapshot too old. While each release of PostgreSQL comes with a bunch of new features, sometimes features also get removed. Starting with PostgreSQL 17 there will be most likely no more &#8220;snapshot too old&#8221;. Before looking at why that got removed lets first have a look at what it is.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The main goal of this feature was to reduce table bloat and it is very well described in the <a href=\"https:\/\/www.postgresql.org\/docs\/16\/runtime-config-resource.html#GUC-OLD-SNAPSHOT-THRESHOLD\" target=\"_blank\" rel=\"noreferrer noopener\">documentation<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By default this feature is disabled:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; highlight: [1,7]; title: ; notranslate\" title=\"\">\npostgres=# select version();\n                                                     version                                                     \n-----------------------------------------------------------------------------------------------------------------\n PostgreSQL 16beta3 on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit\n(1 row)\n\npostgres=# \\dconfig *snapshot*\nList of configuration parameters\n       Parameter        | Value \n------------------------+-------\n old_snapshot_threshold | -1\n(1 row)\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">To see this is in action we can do the following: Enable the feature by setting it to one minute:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; highlight: [1,7,9,16,22,27]; title: ; notranslate\" title=\"\">\npostgres=# select context from pg_settings where name = &#039;old_snapshot_threshold&#039;;\n  context   \n------------\n postmaster\n(1 row)\n\npostgres=# alter system set old_snapshot_threshold = 1;\nALTER SYSTEM\npostgres=# \\! pg_ctl restart\nwaiting for server to shut down.... done\nserver stopped\nwaiting for server to start....2023-09-08 11:58:10.718 CEST - 1 - 15692 -  - @ - 0LOG:  redirecting log output to logging collector process\n2023-09-08 11:58:10.718 CEST - 2 - 15692 -  - @ - 0HINT:  Future log output will appear in directory &quot;pg_log&quot;.\n done\nserver started\npostgres=# select 1;\nFATAL:  terminating connection due to administrator command\nserver closed the connection unexpectedly\n        This probably means the server terminated abnormally\n        before or while processing the request.\nThe connection to the server was lost. Attempting reset: Succeeded.\npostgres=# select 1;\n ?column? \n----------\n        1\n(1 row)\npostgres=# show old_snapshot_threshold ;\n old_snapshot_threshold \n------------------------\n 1min\n(1 row)\n\npostgres=# \n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">We&#8217;ve set old_snapshot_threshold to 1 minute and now we can easily produce a snapshot too old error. The procedure is:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create a table in the first session<\/li>\n\n\n\n<li>Start a transaction in a second session and select from that table<\/li>\n\n\n\n<li>Insert, update and delete all data from the table in the first session. The transaction in the second session started before all that so it will never see any rows as everything is gone, but not committed<\/li>\n\n\n\n<li>In a third session do a vacuum short before 1min passed (you can use <a href=\"https:\/\/www.postgresql.org\/docs\/current\/functions-datetime.html#FUNCTIONS-DATETIME-DELAY\" target=\"_blank\" rel=\"noreferrer noopener\">pg_sleep<\/a> to add a delay)<\/li>\n\n\n\n<li>In the second session also add some delay and then select from the table<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; highlight: [2,6,8,14,16,18,20,22,26,29,35,36]; title: ; notranslate\" title=\"\">\n-- session 1\npostgres=# create table t ( a int );\nCREATE TABLE\n\n-- session 2\npostgres=# begin transaction isolation level repeatable read ;\nBEGIN\npostgres=*# select * from t;\n a \n---\n(0 rows)\n\n-- session 1\npostgres=# begin;\nBEGIN\npostgres=*# insert into t select * from generate_series(1,1000);\nINSERT 0 1000\npostgres=*# update t set a = 3;\nUPDATE 1000\npostgres=*# delete from t;\nDELETE 1000\npostgres=*# commit;\nCOMMIT\n\n-- session 3\npostgres=# select pg_sleep(50); vacuum t;\n\n-- session 2\npostgres=*# select pg_sleep(50);\n pg_sleep \n----------\n \n(1 row)\n\npostgres=*# select * from t;\nERROR:  snapshot too old\npostgres=!# \n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">This means vacuum already did the cleanup of those rows and this triggers the &#8220;snapshot too old&#8221; error. This was mean as a last defense for long running transaction or reporting queries. From PostgreSQL 17 on, this is not anymore possible. The commit message has all the details and links to the discussions around this:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nRemove the &quot;snapshot too old&quot; feature.\n\nRemove the old_snapshot_threshold setting and mechanism for producing\nthe error &quot;snapshot too old&quot;, originally added by commit 848ef42b.\nUnfortunately it had a number of known problems in terms of correctness\nand performance, mostly reported by Andres in the course of his work on\nsnapshot scalability.  We agreed to remove it, after a long period\nwithout an active plan to fix it.\n\nThis is certainly a desirable feature, and someone might propose a new\nor improved implementation in the future.\n\nReported-by: Andres Freund &amp;lt;andres@anarazel.de&amp;gt;\nDiscussion: https:\/\/postgr.es\/m\/CACG%3DezYV%2BEvO135fLRdVn-ZusfVsTY6cH1OZqWtezuEYH6ciQA%40mail.gmail.com\nDiscussion: https:\/\/postgr.es\/m\/20200401064008.qob7bfnnbu4w5cw4%40alap3.anarazel.de\nDiscussion: https:\/\/postgr.es\/m\/CA%2BTgmoY%3Daqf0zjTD%2B3dUWYkgMiNDegDLFjo%2B6ze%3DWtpik%2B3XqA%40mail.gmail.com\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Currently PostgreSQL has a feature which is called snapshot too old. While each release of PostgreSQL comes with a bunch of new features, sometimes features also get removed. Starting with PostgreSQL 17 there will be most likely no more &#8220;snapshot too old&#8221;. Before looking at why that got removed lets first have a look at&hellip;&nbsp;<\/p>\n","protected":false},"author":28,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","neve_meta_reading_time":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[4133],"tags":[],"class_list":["post-27681","post","type-post","status-publish","format-standard","hentry","category-database"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.8 (Yoast SEO v28.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>No more snapshot too old in PostgreSQL 17 - dbi services | Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/no-more-snapshot-too-old-in-postgresql-17\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"No more snapshot too old in PostgreSQL 17\" \/>\n<meta property=\"og:description\" content=\"Currently PostgreSQL has a feature which is called snapshot too old. While each release of PostgreSQL comes with a bunch of new features, sometimes features also get removed. Starting with PostgreSQL 17 there will be most likely no more &#8220;snapshot too old&#8221;. Before looking at why that got removed lets first have a look at&hellip;&nbsp;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/no-more-snapshot-too-old-in-postgresql-17\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi services | Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dbiservices\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-08T13:02:55+00:00\" \/>\n<meta name=\"author\" content=\"Open source Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dbiservices\" \/>\n<meta name=\"twitter:site\" content=\"@dbiservices\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Open source Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/no-more-snapshot-too-old-in-postgresql-17\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/no-more-snapshot-too-old-in-postgresql-17\\\/\"},\"author\":{\"name\":\"Open source Team\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/0b4548362cac3eeff8b3eaf329e3530a\"},\"headline\":\"No more snapshot too old in PostgreSQL 17\",\"datePublished\":\"2023-09-08T13:02:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/no-more-snapshot-too-old-in-postgresql-17\\\/\"},\"wordCount\":276,\"commentCount\":6,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\"},\"articleSection\":[\"Database\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/no-more-snapshot-too-old-in-postgresql-17\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/no-more-snapshot-too-old-in-postgresql-17\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/no-more-snapshot-too-old-in-postgresql-17\\\/\",\"name\":\"No more snapshot too old in PostgreSQL 17 - dbi services | Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2023-09-08T13:02:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/no-more-snapshot-too-old-in-postgresql-17\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/no-more-snapshot-too-old-in-postgresql-17\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/no-more-snapshot-too-old-in-postgresql-17\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"No more snapshot too old in PostgreSQL 17\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi services Blog\",\"description\":\"#BeSharing\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\"},\"alternateName\":\"dbi Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\",\"name\":\"dbi services\",\"alternateName\":\"dbi\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dbi-services-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dbi-services-logo.png\",\"width\":512,\"height\":512,\"caption\":\"dbi services\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dbiservices\\\/\",\"https:\\\/\\\/x.com\\\/dbiservices\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dbi-services\\\/\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/dbiservices\"],\"description\":\"Swiss IT consulting and services company specialised in efficient data infrastructures and platforms: databases, application servers, cloud, DevOps, digitalization, analytics, data quality and monitoring. Headquartered in Del\u00e9mont with offices in Nyon, Basel, Bern and Zurich.\",\"email\":\"info@dbi-services.com\",\"telephone\":\"+41 32 422 96 00\",\"legalName\":\"dbi services SA\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/0b4548362cac3eeff8b3eaf329e3530a\",\"name\":\"Open source Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/open-source-author.png\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/open-source-author.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/open-source-author.png\",\"caption\":\"Open source Team\"},\"description\":\"Posts published under the Open source Team account are collective contributions by the dbi services open infrastructure consultants. The practice covers open-source databases and platforms, PostgreSQL first of all, along with MySQL, MariaDB, and Linux, from architecture, replication, and high availability to performance tuning and operations under service level agreements, and contributes actively to the PostgreSQL community.\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/open-source-team\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"No more snapshot too old in PostgreSQL 17 - dbi services | Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/no-more-snapshot-too-old-in-postgresql-17\/","og_locale":"en_US","og_type":"article","og_title":"No more snapshot too old in PostgreSQL 17","og_description":"Currently PostgreSQL has a feature which is called snapshot too old. While each release of PostgreSQL comes with a bunch of new features, sometimes features also get removed. Starting with PostgreSQL 17 there will be most likely no more &#8220;snapshot too old&#8221;. Before looking at why that got removed lets first have a look at&hellip;&nbsp;","og_url":"https:\/\/www.dbi-services.com\/blog\/no-more-snapshot-too-old-in-postgresql-17\/","og_site_name":"dbi services | Blog","article_publisher":"https:\/\/www.facebook.com\/dbiservices\/","article_published_time":"2023-09-08T13:02:55+00:00","author":"Open source Team","twitter_card":"summary_large_image","twitter_creator":"@dbiservices","twitter_site":"@dbiservices","twitter_misc":{"Written by":"Open source Team","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/no-more-snapshot-too-old-in-postgresql-17\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/no-more-snapshot-too-old-in-postgresql-17\/"},"author":{"name":"Open source Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/0b4548362cac3eeff8b3eaf329e3530a"},"headline":"No more snapshot too old in PostgreSQL 17","datePublished":"2023-09-08T13:02:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/no-more-snapshot-too-old-in-postgresql-17\/"},"wordCount":276,"commentCount":6,"publisher":{"@id":"https:\/\/www.dbi-services.com\/blog\/#organization"},"articleSection":["Database"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/no-more-snapshot-too-old-in-postgresql-17\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/no-more-snapshot-too-old-in-postgresql-17\/","url":"https:\/\/www.dbi-services.com\/blog\/no-more-snapshot-too-old-in-postgresql-17\/","name":"No more snapshot too old in PostgreSQL 17 - dbi services | Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2023-09-08T13:02:55+00:00","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/no-more-snapshot-too-old-in-postgresql-17\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/no-more-snapshot-too-old-in-postgresql-17\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/no-more-snapshot-too-old-in-postgresql-17\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"No more snapshot too old in PostgreSQL 17"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi services Blog","description":"#BeSharing","publisher":{"@id":"https:\/\/www.dbi-services.com\/blog\/#organization"},"alternateName":"dbi Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dbi-services.com\/blog\/#organization","name":"dbi services","alternateName":"dbi","url":"https:\/\/www.dbi-services.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/09\/dbi-services-logo.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/09\/dbi-services-logo.png","width":512,"height":512,"caption":"dbi services"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dbiservices\/","https:\/\/x.com\/dbiservices","https:\/\/www.linkedin.com\/company\/dbi-services\/","https:\/\/www.youtube.com\/user\/dbiservices"],"description":"Swiss IT consulting and services company specialised in efficient data infrastructures and platforms: databases, application servers, cloud, DevOps, digitalization, analytics, data quality and monitoring. Headquartered in Del\u00e9mont with offices in Nyon, Basel, Bern and Zurich.","email":"info@dbi-services.com","telephone":"+41 32 422 96 00","legalName":"dbi services SA"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/0b4548362cac3eeff8b3eaf329e3530a","name":"Open source Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/05\/open-source-author.png","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/05\/open-source-author.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/05\/open-source-author.png","caption":"Open source Team"},"description":"Posts published under the Open source Team account are collective contributions by the dbi services open infrastructure consultants. The practice covers open-source databases and platforms, PostgreSQL first of all, along with MySQL, MariaDB, and Linux, from architecture, replication, and high availability to performance tuning and operations under service level agreements, and contributes actively to the PostgreSQL community.","url":"https:\/\/www.dbi-services.com\/blog\/author\/open-source-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/27681","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=27681"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/27681\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=27681"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=27681"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=27681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}