{"id":17097,"date":"2022-01-31T10:02:07","date_gmt":"2022-01-31T09:02:07","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/"},"modified":"2022-01-31T10:02:07","modified_gmt":"2022-01-31T09:02:07","slug":"postgresql-15-new-function-to-list-flags-associated-to-gucs","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/","title":{"rendered":"PostgreSQL 15: New function to list flags associated to GUCs"},"content":{"rendered":"<p>As development of PostgreSQL 15 is on its way, more and more features get committed. Today we&#8217;ll look at a new feature which is not a hammer feature, but a nice thing to have and to know about. <\/p>\n<p>If you take a look at how many settings PostgreSQL comes with as of today, there are 353 (This is PostgreSQL 15dev):<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\npostgres=# select count(*) from pg_settings ;\n count \n-------\n   353\n(1 row)\n<\/pre>\n<p>Some of those settings are available in the default postgresql.conf, which is created by <a href=\"https:\/\/www.postgresql.org\/docs\/current\/app-initdb.html\">initdb<\/a>, others not. Some settings can be re-setted, while you can&#8217;t do that for others. <\/p>\n<p><!--more--><\/p>\n<p>The new function pg_settings_get_flags gives you some more insights into this. To start, lets see how many distinct flags are available right now:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\npostgres=# select distinct flags from (select pg_settings_get_flags(name) as flags from pg_settings) as x;\n              flags               \n----------------------------------\n {EXPLAIN}\n {}\n {EXPLAIN,NOT_IN_SAMPLE}\n {NOT_IN_SAMPLE,RUNTIME_COMPUTED}\n {NOT_IN_SAMPLE}\n {NO_RESET_ALL,NOT_IN_SAMPLE}\n(6 rows)\n<\/pre>\n<p>The return type of the function is a text array and this is what I can see on my instance. The meaning of the flags is (stolen from <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commitdiff;h=d10e41d4238e7dcd23968230939c0c59cbcb41c2#patch1\" target=\"_blank\" rel=\"noopener\">here<\/a>):<\/p>\n<ul>\n<li>EXPLAIN: parameters included in EXPLAIN command<\/li>\n<li>NO_SHOW_ALL: parameters excluded from SHOW ALL commands<\/li>\n<li>NO_RESET_ALL: parameters excluded from RESET ALL commands<\/li>\n<li>NOT_IN_SAMPLE: parameters not included in postgresql.conf by default<\/li>\n<li>RUNTIME_COMPUTED: runtime-computed parameters<\/li>\n<\/ul>\n<p>If you, for example, want to know which settings are not included in the default postgresql.conf, you can use the new function for that:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\npostgres=# with flags_all as (select name,pg_settings_get_flags(name) as flags from pg_settings)\n           select * \n             from flags_all \n            where flags_all.flags @&gt; ARRAY['NOT_IN_SAMPLE'];\n               name               |              flags               \n----------------------------------+----------------------------------\n allow_in_place_tablespaces       | {NOT_IN_SAMPLE}\n allow_system_table_mods          | {NOT_IN_SAMPLE}\n application_name                 | {NOT_IN_SAMPLE}\n backtrace_functions              | {NOT_IN_SAMPLE}\n block_size                       | {NOT_IN_SAMPLE}\n data_checksums                   | {NOT_IN_SAMPLE,RUNTIME_COMPUTED}\n data_directory_mode              | {NOT_IN_SAMPLE,RUNTIME_COMPUTED}\n debug_assertions                 | {NOT_IN_SAMPLE}\n debug_discard_caches             | {NOT_IN_SAMPLE}\n force_parallel_mode              | {EXPLAIN,NOT_IN_SAMPLE}\n ignore_checksum_failure          | {NOT_IN_SAMPLE}\n ignore_invalid_pages             | {NOT_IN_SAMPLE}\n ignore_system_indexes            | {NOT_IN_SAMPLE}\n in_hot_standby                   | {NOT_IN_SAMPLE}\n integer_datetimes                | {NOT_IN_SAMPLE}\n jit_debugging_support            | {NOT_IN_SAMPLE}\n jit_dump_bitcode                 | {NOT_IN_SAMPLE}\n jit_expressions                  | {NOT_IN_SAMPLE}\n jit_profiling_support            | {NOT_IN_SAMPLE}\n jit_tuple_deforming              | {NOT_IN_SAMPLE}\n lc_collate                       | {NOT_IN_SAMPLE}\n lc_ctype                         | {NOT_IN_SAMPLE}\n max_function_args                | {NOT_IN_SAMPLE}\n max_identifier_length            | {NOT_IN_SAMPLE}\n max_index_keys                   | {NOT_IN_SAMPLE}\n post_auth_delay                  | {NOT_IN_SAMPLE}\n pre_auth_delay                   | {NOT_IN_SAMPLE}\n remove_temp_files_after_crash    | {NOT_IN_SAMPLE}\n segment_size                     | {NOT_IN_SAMPLE}\n server_encoding                  | {NOT_IN_SAMPLE}\n server_version                   | {NOT_IN_SAMPLE}\n server_version_num               | {NOT_IN_SAMPLE}\n shared_memory_size               | {NOT_IN_SAMPLE,RUNTIME_COMPUTED}\n shared_memory_size_in_huge_pages | {NOT_IN_SAMPLE,RUNTIME_COMPUTED}\n ssl_library                      | {NOT_IN_SAMPLE}\n trace_notify                     | {NOT_IN_SAMPLE}\n trace_recovery_messages          | {NOT_IN_SAMPLE}\n trace_sort                       | {NOT_IN_SAMPLE}\n transaction_deferrable           | {NO_RESET_ALL,NOT_IN_SAMPLE}\n transaction_isolation            | {NO_RESET_ALL,NOT_IN_SAMPLE}\n transaction_read_only            | {NO_RESET_ALL,NOT_IN_SAMPLE}\n wal_block_size                   | {NOT_IN_SAMPLE}\n wal_consistency_checking         | {NOT_IN_SAMPLE}\n wal_segment_size                 | {NOT_IN_SAMPLE,RUNTIME_COMPUTED}\n zero_damaged_pages               | {NOT_IN_SAMPLE}\n(45 rows)\n<\/pre>\n<p>All these are mostly developer or tracing settings, and are therefore not included in the default postgresql.conf. You could ask: Which parameters are not reset if you execute a <a href=\"https:\/\/www.postgresql.org\/docs\/current\/sql-reset.html\" target=\"_blank\" rel=\"noopener\">reset all<\/a>:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\npostgres=# with flags_all as (select name,pg_settings_get_flags(name) as flags from pg_settings)\n           select * \n             from flags_all \n            where flags_all.flags @&gt; ARRAY['NO_RESET_ALL'];\n          name          |            flags             \n------------------------+------------------------------\n transaction_deferrable | {NO_RESET_ALL,NOT_IN_SAMPLE}\n transaction_isolation  | {NO_RESET_ALL,NOT_IN_SAMPLE}\n transaction_read_only  | {NO_RESET_ALL,NOT_IN_SAMPLE}\n(3 rows)\n<\/pre>\n<p>&#8230; or combine two or more flags in your query:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\npostgres=# with flags_all as (select name,pg_settings_get_flags(name) as flags from pg_settings)\n           select * \n             from flags_all \n            where flags_all.flags @&gt; ARRAY['EXPLAIN','NOT_IN_SAMPLE'];\n        name         |          flags          \n---------------------+-------------------------\n force_parallel_mode | {EXPLAIN,NOT_IN_SAMPLE}\n(1 row)\n<\/pre>\n<p>Nice little feature.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As development of PostgreSQL 15 is on its way, more and more features get committed. Today we&#8217;ll look at a new feature which is not a hammer feature, but a nice thing to have and to know about. If you take a look at how many settings PostgreSQL comes with as of today, there are [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[77],"type_dbi":[],"class_list":["post-17097","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","tag-postgresql"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>PostgreSQL 15: New function to list flags associated to GUCs - dbi 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\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL 15: New function to list flags associated to GUCs\" \/>\n<meta property=\"og:description\" content=\"As development of PostgreSQL 15 is on its way, more and more features get committed. Today we&#8217;ll look at a new feature which is not a hammer feature, but a nice thing to have and to know about. If you take a look at how many settings PostgreSQL comes with as of today, there are [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-01-31T09:02:07+00:00\" \/>\n<meta name=\"author\" content=\"Daniel Westermann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@westermanndanie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Westermann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 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\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"PostgreSQL 15: New function to list flags associated to GUCs\",\"datePublished\":\"2022-01-31T09:02:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/\"},\"wordCount\":262,\"commentCount\":0,\"keywords\":[\"PostgreSQL\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/\",\"name\":\"PostgreSQL 15: New function to list flags associated to GUCs - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2022-01-31T09:02:07+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL 15: New function to list flags associated to GUCs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"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\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\",\"name\":\"Daniel Westermann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"caption\":\"Daniel Westermann\"},\"description\":\"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.\",\"sameAs\":[\"https:\/\/x.com\/westermanndanie\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PostgreSQL 15: New function to list flags associated to GUCs - dbi 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\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/","og_locale":"en_US","og_type":"article","og_title":"PostgreSQL 15: New function to list flags associated to GUCs","og_description":"As development of PostgreSQL 15 is on its way, more and more features get committed. Today we&#8217;ll look at a new feature which is not a hammer feature, but a nice thing to have and to know about. If you take a look at how many settings PostgreSQL comes with as of today, there are [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/","og_site_name":"dbi Blog","article_published_time":"2022-01-31T09:02:07+00:00","author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"PostgreSQL 15: New function to list flags associated to GUCs","datePublished":"2022-01-31T09:02:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/"},"wordCount":262,"commentCount":0,"keywords":["PostgreSQL"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/","url":"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/","name":"PostgreSQL 15: New function to list flags associated to GUCs - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2022-01-31T09:02:07+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-15-new-function-to-list-flags-associated-to-gucs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL 15: New function to list flags associated to GUCs"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","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":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66","name":"Daniel Westermann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","caption":"Daniel Westermann"},"description":"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.","sameAs":["https:\/\/x.com\/westermanndanie"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/17097","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\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=17097"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/17097\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=17097"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=17097"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=17097"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=17097"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}