{"id":17855,"date":"2022-07-12T15:06:28","date_gmt":"2022-07-12T13:06:28","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=17855"},"modified":"2022-07-18T17:58:27","modified_gmt":"2022-07-18T15:58:27","slug":"in-which-schema-do-temporary-tables-go-in-postgresql","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/in-which-schema-do-temporary-tables-go-in-postgresql\/","title":{"rendered":"In which schema do temporary tables go in PostgreSQL?"},"content":{"rendered":"<p>As you might know, you can create temporary tables, views and sequences in PostgreSQL. Temporary means, that the temporary table, view or sequence will be dropped when you either end your session or you transaction. When the drop will happen depends on the options you used when you created the object. As all objects in PostgreSQL are stored in a schema, temporary objects need to be created in a schema as well. But when you try to explicitly specify a schema for a temporary object, you&#8217;ll get an error message. Let&#8217;s have a look.<\/p>\n<p><!--more--><\/p>\n<p>To confirm that we are not allowed to specify a schema for a temporary object, we try to do so:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">postgres=# create temporary table public.tt ( a int );\nERROR:  cannot create temporary relation in non-temporary schema\nLINE 1: create temporary table public.tt ( a int );\n                               ^\n<\/pre>\n<p>The error message clearly states that these types of objects need to go into a temporary schema, but a temporary schema cannot be created:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">postgres=# \\h create schema\nCommand:     CREATE SCHEMA\nDescription: define a new schema\nSyntax:\nCREATE SCHEMA schema_name [ AUTHORIZATION role_specification ] [ schema_element [ ... ] ]\nCREATE SCHEMA AUTHORIZATION role_specification [ schema_element [ ... ] ]\nCREATE SCHEMA IF NOT EXISTS schema_name [ AUTHORIZATION role_specification ]\nCREATE SCHEMA IF NOT EXISTS AUTHORIZATION role_specification\n\nwhere role_specification can be:\n\n    user_name\n  | CURRENT_ROLE\n  | CURRENT_USER\n  | SESSION_USER\nURL: https:\/\/www.postgresql.org\/docs\/devel\/sql-createschema.html\n<\/pre>\n<p>This somehow needs to happen automatically. Once more, let&#8217;s create a temporary table, but this time we do not specify a schema:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">postgres=# create temporary table tt ( a int );\nCREATE TABLE\n<\/pre>\n<p>Where did it go to? If we ask for the list of schemas there is only public, and we already know from the error message above that it cannot be public:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">postgres=# \\dn\n      List of schemas\n  Name  |       Owner       \n--------+-------------------\n public | pg_database_owner\n(1 row)\n<\/pre>\n<p>The answer becomes clear once we list the system schemas as well:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [7,9]\">postgres=# \\dnS\n            List of schemas\n        Name        |       Owner       \n--------------------+-------------------\n information_schema | postgres\n pg_catalog         | postgres\n pg_temp_3          | postgres\n pg_toast           | postgres\n pg_toast_temp_3    | postgres\n public             | pg_database_owner\n(6 rows)\n<\/pre>\n<p>We got two new schema after we created the temporary table: One for the temporary table itself and another one for toasted data, if any. To verify that the temporary table really is in the schema we can either full reference the table in a select:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">postgres=# select * from pg_temp_3.tt;\n a \n---\n(0 rows)\n<\/pre>\n<p>&#8230; or we can always ask <a href=\"https:\/\/www.postgresql.org\/docs\/current\/catalog-pg-class.html\" target=\"_blank\" rel=\"noopener\">pg_class<\/a>:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">postgres=# select relnamespace::regnamespace from pg_class where relname = 'tt';\n relnamespace \n--------------\n pg_temp_3\n(1 row)\n<\/pre>\n<p>This temporary schema will not be dropped once we end our session and will still be there if we reconnect. The temporary table, however, was dropped:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">postgres=# \\q\n14:52:39 postgres@debian11pg:\/home\/postgres\/ [pgdev] psql \npsql (16devel)\nType \"help\" for help.\n\npostgres=# \\dnS\n            List of schemas\n        Name        |       Owner       \n--------------------+-------------------\n information_schema | postgres\n pg_catalog         | postgres\n pg_temp_3          | postgres\n pg_toast           | postgres\n pg_toast_temp_3    | postgres\n public             | pg_database_owner\n(6 rows)\n\npostgres=# select * from pg_temp_3.tt;\nERROR:  relation \"pg_temp_3.tt\" does not exist\nLINE 1: select * from pg_temp_3.tt;\n                      ^\n<\/pre>\n<p>The temporary schema will be re-used for future temporary objects:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">postgres=# create temporary table xx ( a int );\nCREATE TABLE\npostgres=# select relnamespace::regnamespace from pg_class where relname = 'xx';\n relnamespace \n--------------\n pg_temp_3\n(1 row)\n<\/pre>\n<p>One more thing to know: If someone, in another session, also creates a temporary object there will be a new temporary schema created:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [14,17]\">postgres@debian11pg:\/home\/postgres\/ [pgdev] psql\npsql (16devel)\nType \"help\" for help.\n\npostgres=# create temporary table hh ( a int );\nCREATE TABLE\npostgres=# \\dnS\n            List of schemas\n        Name        |       Owner       \n--------------------+-------------------\n information_schema | postgres\n pg_catalog         | postgres\n pg_temp_3          | postgres\n pg_temp_4          | postgres\n pg_toast           | postgres\n pg_toast_temp_3    | postgres\n pg_toast_temp_4    | postgres\n public             | pg_database_owner\n(8 rows)\n\npostgres=# \n<\/pre>\n<p>This means, that you potentially can have many temporary schemas.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As you might know, you can create temporary tables, views and sequences in PostgreSQL. Temporary means, that the temporary table, view or sequence will be dropped when you either end your session or you transaction. When the drop will happen depends on the options you used when you created the object. As all objects in [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[2602],"type_dbi":[],"class_list":["post-17855","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","tag-postgresql-2"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>In which schema do temporary tables go in PostgreSQL? - 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\/in-which-schema-do-temporary-tables-go-in-postgresql\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"In which schema do temporary tables go in PostgreSQL?\" \/>\n<meta property=\"og:description\" content=\"As you might know, you can create temporary tables, views and sequences in PostgreSQL. Temporary means, that the temporary table, view or sequence will be dropped when you either end your session or you transaction. When the drop will happen depends on the options you used when you created the object. As all objects in [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/in-which-schema-do-temporary-tables-go-in-postgresql\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-12T13:06:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-18T15:58:27+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=\"3 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\\\/in-which-schema-do-temporary-tables-go-in-postgresql\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/in-which-schema-do-temporary-tables-go-in-postgresql\\\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"In which schema do temporary tables go in PostgreSQL?\",\"datePublished\":\"2022-07-12T13:06:28+00:00\",\"dateModified\":\"2022-07-18T15:58:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/in-which-schema-do-temporary-tables-go-in-postgresql\\\/\"},\"wordCount\":337,\"commentCount\":0,\"keywords\":[\"postgresql\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/in-which-schema-do-temporary-tables-go-in-postgresql\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/in-which-schema-do-temporary-tables-go-in-postgresql\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/in-which-schema-do-temporary-tables-go-in-postgresql\\\/\",\"name\":\"In which schema do temporary tables go in PostgreSQL? - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2022-07-12T13:06:28+00:00\",\"dateModified\":\"2022-07-18T15:58:27+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/in-which-schema-do-temporary-tables-go-in-postgresql\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/in-which-schema-do-temporary-tables-go-in-postgresql\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/in-which-schema-do-temporary-tables-go-in-postgresql\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"In which schema do temporary tables go in PostgreSQL?\"}]},{\"@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":"In which schema do temporary tables go in PostgreSQL? - 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\/in-which-schema-do-temporary-tables-go-in-postgresql\/","og_locale":"en_US","og_type":"article","og_title":"In which schema do temporary tables go in PostgreSQL?","og_description":"As you might know, you can create temporary tables, views and sequences in PostgreSQL. Temporary means, that the temporary table, view or sequence will be dropped when you either end your session or you transaction. When the drop will happen depends on the options you used when you created the object. As all objects in [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/in-which-schema-do-temporary-tables-go-in-postgresql\/","og_site_name":"dbi Blog","article_published_time":"2022-07-12T13:06:28+00:00","article_modified_time":"2022-07-18T15:58:27+00:00","author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/in-which-schema-do-temporary-tables-go-in-postgresql\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/in-which-schema-do-temporary-tables-go-in-postgresql\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"In which schema do temporary tables go in PostgreSQL?","datePublished":"2022-07-12T13:06:28+00:00","dateModified":"2022-07-18T15:58:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/in-which-schema-do-temporary-tables-go-in-postgresql\/"},"wordCount":337,"commentCount":0,"keywords":["postgresql"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/in-which-schema-do-temporary-tables-go-in-postgresql\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/in-which-schema-do-temporary-tables-go-in-postgresql\/","url":"https:\/\/www.dbi-services.com\/blog\/in-which-schema-do-temporary-tables-go-in-postgresql\/","name":"In which schema do temporary tables go in PostgreSQL? - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2022-07-12T13:06:28+00:00","dateModified":"2022-07-18T15:58:27+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/in-which-schema-do-temporary-tables-go-in-postgresql\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/in-which-schema-do-temporary-tables-go-in-postgresql\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/in-which-schema-do-temporary-tables-go-in-postgresql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"In which schema do temporary tables go in PostgreSQL?"}]},{"@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\/17855","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=17855"}],"version-history":[{"count":11,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/17855\/revisions"}],"predecessor-version":[{"id":17866,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/17855\/revisions\/17866"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=17855"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=17855"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=17855"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=17855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}