{"id":10354,"date":"2017-07-13T13:19:58","date_gmt":"2017-07-13T11:19:58","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\/"},"modified":"2017-07-13T13:19:58","modified_gmt":"2017-07-13T11:19:58","slug":"did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\/","title":{"rendered":"Did you ever wonder what PostgreSQL is executing in the background when you use the psql shortcuts?"},"content":{"rendered":"<p>When you work with PostgreSQL you are probably using <a href=\"https:\/\/www.postgresql.org\/docs\/current\/static\/app-psql.html\" target=\"_blank\" rel=\"noopener\">psql<\/a> and when you use psql you are probably using one or more of the shortcuts psql is providing. These shortcuts provide a quick and convenient way to get meta data out of the PostgreSQL catalog which safes you from a lot of typing and typos. The only issue with that is that it hides the statements which are executed to get the meta data so you don&#8217;t know were the information is actually coming from. Of course you can check either the <a href=\"https:\/\/www.postgresql.org\/docs\/current\/static\/information-schema.html\" target=\"_blank\" rel=\"noopener\">information_schema<\/a> or the PostgreSQL <a href=\"https:\/\/www.postgresql.org\/docs\/current\/static\/catalogs.html\" target=\"_blank\" rel=\"noopener\">system catalog<\/a> and then write your own queries for what you are looking for. But, hey, there is a much easier way.<\/p>\n<p><!--more--><\/p>\n<p>Lets start by creating a dummy table and an index:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\npostgres=# create table dummy ( a int primary key, b varchar(50), c timestamp with time zone );\nCREATE TABLE\npostgres=# create index i_dummy on dummy ( c );\nCREATE INDEX\npostgres=# \n<\/pre>\n<p>The fastest way to get the definition of the table is:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\npostgres=# d dummy\n             Table \"public.dummy\"\n Column |           Type           | Modifiers \n--------+--------------------------+-----------\n a      | integer                  | not null\n b      | character varying(50)    | \n c      | timestamp with time zone | \nIndexes:\n    \"dummy_pkey\" PRIMARY KEY, btree (a)\n    \"i_dummy\" btree (c)\n<\/pre>\n<p>As you can see you do not only get the definition of the table itself but also information about the primary key and the index. But where does this information come from? As information about the index and the primary key is displayed as well the information must be coming from more than one catalog table, but which? Quite easy when you check the options of psql:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@pgbox:\/home\/postgres\/ [PG962] psql --help | grep \"hidden\"\n  -E, --echo-hidden        display queries that internal commands generate\n<\/pre>\n<p>When you fire up psql with this option all the internal statements will be displayed when you use a short cut:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\npostgres@pgbox:\/home\/postgres\/ [PG962] psql -E postgres\npostgres=# d dummy\n********* QUERY **********\nSELECT c.oid,\n  n.nspname,\n  c.relname\nFROM pg_catalog.pg_class c\n     LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\nWHERE c.relname ~ '^(dummy)$'\n  AND pg_catalog.pg_table_is_visible(c.oid)\nORDER BY 2, 3;\n**************************\n\n********* QUERY **********\nSELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, c.relhasoids, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident\nFROM pg_catalog.pg_class c\n LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)\nWHERE c.oid = '16679';\n**************************\n\n********* QUERY **********\nSELECT a.attname,\n  pg_catalog.format_type(a.atttypid, a.atttypmod),\n  (SELECT substring(pg_catalog.pg_get_expr(d.adbin, d.adrelid) for 128)\n   FROM pg_catalog.pg_attrdef d\n   WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef),\n  a.attnotnull, a.attnum,\n  (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t\n   WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation  t.typcollation) AS attcollation,\n  NULL AS indexdef,\n  NULL AS attfdwoptions\nFROM pg_catalog.pg_attribute a\nWHERE a.attrelid = '16679' AND a.attnum &gt; 0 AND NOT a.attisdropped\nORDER BY a.attnum;\n**************************\n\n********* QUERY **********\nSELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true),\n  pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespace\nFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i\n  LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))\nWHERE c.oid = '16679' AND c.oid = i.indrelid AND i.indexrelid = c2.oid\nORDER BY i.indisprimary DESC, i.indisunique DESC, c2.relname;\n**************************\n\n********* QUERY **********\nSELECT pol.polname,\nCASE WHEN pol.polroles = '{0}' THEN NULL ELSE array_to_string(array(select rolname from pg_roles where oid = any (pol.polroles) order by 1),',') END,\npg_catalog.pg_get_expr(pol.polqual, pol.polrelid),\npg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid),\nCASE pol.polcmd \nWHEN 'r' THEN 'SELECT'\nWHEN 'a' THEN 'INSERT'\nWHEN 'w' THEN 'UPDATE'\nWHEN 'd' THEN 'DELETE'\nWHEN '*' THEN 'ALL'\nEND AS cmd\nFROM pg_catalog.pg_policy pol\nWHERE pol.polrelid = '16679' ORDER BY 1;\n**************************\n\n********* QUERY **********\nSELECT c.oid::pg_catalog.regclass FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i WHERE c.oid=i.inhparent AND i.inhrelid = '16679' ORDER BY inhseqno;\n**************************\n\n********* QUERY **********\nSELECT c.oid::pg_catalog.regclass FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i WHERE c.oid=i.inhrelid AND i.inhparent = '16679' ORDER BY c.oid::pg_catalog.regclass::pg_catalog.text;\n**************************\n\n             Table \"public.dummy\"\n Column |           Type           | Modifiers \n--------+--------------------------+-----------\n a      | integer                  | not null\n b      | character varying(50)    | \n c      | timestamp with time zone | \nIndexes:\n    \"dummy_pkey\" PRIMARY KEY, btree (a)\n    \"i_dummy\" btree (c)\n<\/pre>\n<p>Here you go. Quite a lot of stuff is happening in the background and you can exactly see what it is. This is a great way to get known to the catalog. When you are already inside psql and want to switch the display of the hidden stuff to on you can do that as well:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\npostgres=# set ECHO_HIDDEN on\npostgres=# d dummy\n********* QUERY **********\nSELECT c.oid,\n  n.nspname,\n  c.relname\nFROM pg_catalog.pg_class c\n     LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\nWHERE c.relname ~ '^(dummy)$'\n  AND pg_catalog.pg_table_is_visible(c.oid)\nORDER BY 2, 3;\n**************************\n\n...\n<\/pre>\n<p>When you want to make this permanent add it to your <a href=\"https:\/\/www.postgresql.org\/docs\/current\/static\/app-psql.html\" target=\"_blank\" rel=\"noopener\">.psqlrc<\/a> (scroll down to the &#8220;Files&#8221; section). Have fun &#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When you work with PostgreSQL you are probably using psql and when you use psql you are probably using one or more of the shortcuts psql is providing. These shortcuts provide a quick and convenient way to get meta data out of the PostgreSQL catalog which safes you from a lot of typing and typos. [&hellip;]<\/p>\n","protected":false},"author":28,"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-10354","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 v28.8 (Yoast SEO v28.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Did you ever wonder what PostgreSQL is executing in the background when you use the psql shortcuts? - 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\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Did you ever wonder what PostgreSQL is executing in the background when you use the psql shortcuts?\" \/>\n<meta property=\"og:description\" content=\"When you work with PostgreSQL you are probably using psql and when you use psql you are probably using one or more of the shortcuts psql is providing. These shortcuts provide a quick and convenient way to get meta data out of the PostgreSQL catalog which safes you from a lot of typing and typos. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-07-13T11:19:58+00:00\" \/>\n<meta name=\"author\" content=\"Open source Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\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=\"5 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\\\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\\\/\"},\"author\":{\"name\":\"Open source Team\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/4bae5e5dd8c7d48edbd948772b49b202\"},\"headline\":\"Did you ever wonder what PostgreSQL is executing in the background when you use the psql shortcuts?\",\"datePublished\":\"2017-07-13T11:19:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\\\/\"},\"wordCount\":322,\"commentCount\":0,\"keywords\":[\"PostgreSQL\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\\\/\",\"name\":\"Did you ever wonder what PostgreSQL is executing in the background when you use the psql shortcuts? - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2017-07-13T11:19:58+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/4bae5e5dd8c7d48edbd948772b49b202\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Did you ever wonder what PostgreSQL is executing in the background when you use the psql shortcuts?\"}]},{\"@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\\\/4bae5e5dd8c7d48edbd948772b49b202\",\"name\":\"Open source Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g\",\"caption\":\"Open source Team\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/open-source-team\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Did you ever wonder what PostgreSQL is executing in the background when you use the psql shortcuts? - 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\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\/","og_locale":"en_US","og_type":"article","og_title":"Did you ever wonder what PostgreSQL is executing in the background when you use the psql shortcuts?","og_description":"When you work with PostgreSQL you are probably using psql and when you use psql you are probably using one or more of the shortcuts psql is providing. These shortcuts provide a quick and convenient way to get meta data out of the PostgreSQL catalog which safes you from a lot of typing and typos. [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\/","og_site_name":"dbi Blog","article_published_time":"2017-07-13T11:19:58+00:00","author":"Open source Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Open source Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\/"},"author":{"name":"Open source Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4bae5e5dd8c7d48edbd948772b49b202"},"headline":"Did you ever wonder what PostgreSQL is executing in the background when you use the psql shortcuts?","datePublished":"2017-07-13T11:19:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\/"},"wordCount":322,"commentCount":0,"keywords":["PostgreSQL"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\/","url":"https:\/\/www.dbi-services.com\/blog\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\/","name":"Did you ever wonder what PostgreSQL is executing in the background when you use the psql shortcuts? - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2017-07-13T11:19:58+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4bae5e5dd8c7d48edbd948772b49b202"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/did-you-ever-wonder-what-postgresql-is-executing-in-the-background-when-you-use-the-psql-shortcuts\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Did you ever wonder what PostgreSQL is executing in the background when you use the psql shortcuts?"}]},{"@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\/4bae5e5dd8c7d48edbd948772b49b202","name":"Open source Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g","caption":"Open source Team"},"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\/10354","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=10354"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/10354\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=10354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=10354"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=10354"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=10354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}