{"id":22951,"date":"2023-02-24T09:13:53","date_gmt":"2023-02-24T08:13:53","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=22951"},"modified":"2023-02-24T09:13:54","modified_gmt":"2023-02-24T08:13:54","slug":"more-compression-options-for-pg_dump-in-postgresql-16","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/","title":{"rendered":"More compression options for pg_dump in PostgreSQL 16"},"content":{"rendered":"\n<p>The last releases of PostgreSQL already introduced new options for compression, see <a href=\"https:\/\/www.dbi-services.com\/blog\/?post_type=post&amp;p=16012\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a> and <a href=\"https:\/\/www.dbi-services.com\/blog\/?post_type=post&amp;p=259\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>. PostgreSQL 16 will build on top of that and will come with <a href=\"https:\/\/en.wikipedia.org\/wiki\/LZ4_(compression_algorithm)\" target=\"_blank\" rel=\"noreferrer noopener\">LZ4<\/a> compression for <a href=\"https:\/\/www.postgresql.org\/docs\/devel\/app-pgdump.html\" target=\"_blank\" rel=\"noreferrer noopener\">pg_dump<\/a>. As always, there is no better way of showing a feature than a small demo.<\/p>\n\n\n\n<p>To have something to dump, we&#8217;ll create a small database using <a href=\"https:\/\/www.postgresql.org\/docs\/15\/pgbench.html\" target=\"_blank\" rel=\"noreferrer noopener\">pgbench<\/a>:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,8]; title: ; notranslate\" title=\"\">\npostgres@debian11pg:\/home\/postgres\/ &#x5B;pgdev] psql -c &quot;create database dump&quot; -c &quot;select version()&quot;\nCREATE DATABASE\n                                               version                                                \n------------------------------------------------------------------------------------------------------\n PostgreSQL 16devel on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit\n(1 row)\n\npostgres@debian11pg:\/home\/postgres\/ &#x5B;pgdev] pgbench -i -s 100 dump\ndropping old tables...\ncreating tables...\ngenerating data (client-side)...\n10000000 of 10000000 tuples (100%) done (elapsed 28.91 s, remaining 0.00 s)\nvacuuming...\ncreating primary keys...\ndone in 36.32 s (drop tables 0.00 s, create tables 0.02 s, client-side generate 29.17 s, vacuum 0.57 s, primary keys 6.56 s).\n\n<\/pre><\/div>\n\n\n<p>Let&#8217;s dump that using the traditional way using gzip at the highest level:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,2,7]; title: ; notranslate\" title=\"\">\npostgres@debian11pg:\/home\/postgres\/ &#x5B;pgdev] mkdir \/var\/tmp\/dump\npostgres@debian11pg:\/home\/postgres\/ &#x5B;pgdev] time pg_dump --format=d --compress=gzip:9 --file=\/var\/tmp\/dump\/gzip dump\n\nreal    0m12.332s\nuser    0m7.687s\nsys     0m0.271s\npostgres@debian11pg:\/home\/postgres\/ &#x5B;pgdev] ls -lha \/var\/tmp\/dump\/gzip\/\ntotal 27M\ndrwx------ 2 postgres postgres 4.0K Feb 24 09:02 .\ndrwxr-xr-x 3 postgres postgres 4.0K Feb 24 09:02 ..\n-rw-r--r-- 1 postgres postgres   25 Feb 24 09:02 3347.dat.gz\n-rw-r--r-- 1 postgres postgres 1.8K Feb 24 09:02 3348.dat.gz\n-rw-r--r-- 1 postgres postgres  27M Feb 24 09:02 3349.dat.gz\n-rw-r--r-- 1 postgres postgres  208 Feb 24 09:02 3350.dat.gz\n-rw-r--r-- 1 postgres postgres 4.0K Feb 24 09:02 toc.dat\n<\/pre><\/div>\n\n\n<p>This took around 12 seconds and the result is around 27MB. Let&#8217;s do the same using lz4:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,6]; title: ; notranslate\" title=\"\">\npostgres@debian11pg:\/home\/postgres\/ &#x5B;pgdev] time pg_dump --format=d --compress=lz4:9 --file=\/var\/tmp\/dump\/lz4 dump\n\nreal    0m10.803s\nuser    0m6.246s\nsys     0m0.271s\npostgres@debian11pg:\/home\/postgres\/ &#x5B;pgdev] ls -lha \/var\/tmp\/dump\/lz4\ntotal 48M\ndrwx------ 2 postgres postgres 4.0K Feb 24 09:06 .\ndrwxr-xr-x 4 postgres postgres 4.0K Feb 24 09:06 ..\n-rw-r--r-- 1 postgres postgres   20 Feb 24 09:06 3347.dat.lz4\n-rw-r--r-- 1 postgres postgres 4.4K Feb 24 09:06 3348.dat.lz4\n-rw-r--r-- 1 postgres postgres  48M Feb 24 09:06 3349.dat.lz4\n-rw-r--r-- 1 postgres postgres  415 Feb 24 09:06 3350.dat.lz4\n-rw-r--r-- 1 postgres postgres 4.0K Feb 24 09:06 toc.dat\n<\/pre><\/div>\n\n\n<p>This was a bit faster, but also took more space. How does it look like using a lower level?:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,2,3,8,13,21]; title: ; notranslate\" title=\"\">\npostgres@debian11pg:\/home\/postgres\/ &#x5B;pgdev] rm -rf \/var\/tmp\/dump\/lz4\npostgres@debian11pg:\/home\/postgres\/ &#x5B;pgdev] rm -rf \/var\/tmp\/dump\/gzip\/\npostgres@debian11pg:\/home\/postgres\/ &#x5B;pgdev] time pg_dump --format=d --compress=gzip:2 --file=\/var\/tmp\/dump\/gzip dump\n\nreal    0m7.819s\nuser    0m3.191s\nsys     0m0.203s\npostgres@debian11pg:\/home\/postgres\/ &#x5B;pgdev] time pg_dump --format=d --compress=lz4:2 --file=\/var\/tmp\/dump\/lz4 dump\n\nreal    0m5.426s\nuser    0m0.906s\nsys     0m0.236s\npostgres@debian11pg:\/home\/postgres\/ &#x5B;pgdev] ls -lha \/var\/tmp\/dump\/gzip\ntotal 28M\ndrwx------ 2 postgres postgres 4.0K Feb 24 09:10 .\ndrwxr-xr-x 4 postgres postgres 4.0K Feb 24 09:10 ..\n-rw-r--r-- 1 postgres postgres   25 Feb 24 09:10 3347.dat.gz\n-rw-r--r-- 1 postgres postgres 2.3K Feb 24 09:10 3348.dat.gz\n-rw-r--r-- 1 postgres postgres  28M Feb 24 09:10 3349.dat.gz\n-rw-r--r-- 1 postgres postgres  206 Feb 24 09:10 3350.dat.gz\n-rw-r--r-- 1 postgres postgres 4.0K Feb 24 09:10 toc.dat\npostgres@debian11pg:\/home\/postgres\/ &#x5B;pgdev] ls -lha \/var\/tmp\/dump\/lz4\/\ntotal 50M\ndrwx------ 2 postgres postgres 4.0K Feb 24 09:10 .\ndrwxr-xr-x 4 postgres postgres 4.0K Feb 24 09:10 ..\n-rw-r--r-- 1 postgres postgres   20 Feb 24 09:10 3347.dat.lz4\n-rw-r--r-- 1 postgres postgres 4.5K Feb 24 09:10 3348.dat.lz4\n-rw-r--r-- 1 postgres postgres  50M Feb 24 09:10 3349.dat.lz4\n-rw-r--r-- 1 postgres postgres  426 Feb 24 09:10 3350.dat.lz4\n-rw-r--r-- 1 postgres postgres 4.0K Feb 24 09:10 toc.dat\n<\/pre><\/div>\n\n\n<p>The same story: gzip gives you a better compression but lz4 gives you faster compression. Now you have the choice.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The last releases of PostgreSQL already introduced new options for compression, see here and here. PostgreSQL 16 will build on top of that and will come with LZ4 compression for pg_dump. As always, there is no better way of showing a feature than a small demo. To have something to dump, we&#8217;ll create a small [&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,198],"tags":[2602],"type_dbi":[],"class_list":["post-22951","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","category-database-management","tag-postgresql-2"],"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>More compression options for pg_dump in PostgreSQL 16 - 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\/more-compression-options-for-pg_dump-in-postgresql-16\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"More compression options for pg_dump in PostgreSQL 16\" \/>\n<meta property=\"og:description\" content=\"The last releases of PostgreSQL already introduced new options for compression, see here and here. PostgreSQL 16 will build on top of that and will come with LZ4 compression for pg_dump. As always, there is no better way of showing a feature than a small demo. To have something to dump, we&#8217;ll create a small [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-24T08:13:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-24T08:13:54+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\/more-compression-options-for-pg_dump-in-postgresql-16\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"More compression options for pg_dump in PostgreSQL 16\",\"datePublished\":\"2023-02-24T08:13:53+00:00\",\"dateModified\":\"2023-02-24T08:13:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/\"},\"wordCount\":137,\"commentCount\":0,\"keywords\":[\"postgresql\"],\"articleSection\":[\"Database Administration &amp; Monitoring\",\"Database management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/\",\"name\":\"More compression options for pg_dump in PostgreSQL 16 - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2023-02-24T08:13:53+00:00\",\"dateModified\":\"2023-02-24T08:13:54+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"More compression options for pg_dump in PostgreSQL 16\"}]},{\"@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":"More compression options for pg_dump in PostgreSQL 16 - 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\/more-compression-options-for-pg_dump-in-postgresql-16\/","og_locale":"en_US","og_type":"article","og_title":"More compression options for pg_dump in PostgreSQL 16","og_description":"The last releases of PostgreSQL already introduced new options for compression, see here and here. PostgreSQL 16 will build on top of that and will come with LZ4 compression for pg_dump. As always, there is no better way of showing a feature than a small demo. To have something to dump, we&#8217;ll create a small [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/","og_site_name":"dbi Blog","article_published_time":"2023-02-24T08:13:53+00:00","article_modified_time":"2023-02-24T08:13:54+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\/more-compression-options-for-pg_dump-in-postgresql-16\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"More compression options for pg_dump in PostgreSQL 16","datePublished":"2023-02-24T08:13:53+00:00","dateModified":"2023-02-24T08:13:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/"},"wordCount":137,"commentCount":0,"keywords":["postgresql"],"articleSection":["Database Administration &amp; Monitoring","Database management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/","url":"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/","name":"More compression options for pg_dump in PostgreSQL 16 - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2023-02-24T08:13:53+00:00","dateModified":"2023-02-24T08:13:54+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/more-compression-options-for-pg_dump-in-postgresql-16\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"More compression options for pg_dump in PostgreSQL 16"}]},{"@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\/22951","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=22951"}],"version-history":[{"count":8,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/22951\/revisions"}],"predecessor-version":[{"id":22959,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/22951\/revisions\/22959"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=22951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=22951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=22951"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=22951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}