{"id":30294,"date":"2024-01-20T16:10:00","date_gmt":"2024-01-20T15:10:00","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=30294"},"modified":"2024-01-20T16:10:00","modified_gmt":"2024-01-20T15:10:00","slug":"postgresql-17-incremental-backups-pg_walsummary","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/postgresql-17-incremental-backups-pg_walsummary\/","title":{"rendered":"PostgreSQL 17: Incremental backups, pg_walsummary"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In the last posts about the new incremental backup feature we&#8217;ve looked at the following topics:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>How does it work in general? <a href=\"https:\/\/www.dbi-services.com\/blog\/postgresql-17-support-for-incremental-backups\/\" target=\"_blank\" rel=\"noreferrer noopener\">PostgreSQL 17: Support for incremental backups<\/a><\/li>\n\n\n\n<li>Backup chains, what is it? <a href=\"https:\/\/www.dbi-services.com\/blog\/postgresql-17-incremental-backups-and-backup-chains\/\" target=\"_blank\" rel=\"noreferrer noopener\">PostgreSQL 17: Incremental backups and backup chains<\/a><\/li>\n\n\n\n<li>Additional system information functions and how you can use them &#8211; <a href=\"https:\/\/www.dbi-services.com\/blog\/postgresql-17-incremental-backups-system-information-functions\/\">PostgreSQL 17: Incremental backups, system information functions<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In this post we&#8217;ll look into the final topic for this feature: In addition to what was described in the previous posts, there is also a new utility which made it into PostgreSQL: <a href=\"https:\/\/www.postgresql.org\/docs\/devel\/app-pgwalsummary.html\">pg_walsummary<\/a>. As the name implies this can be used to get information about the WAL summary files from an operating system point of view.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This time we&#8217;ll not start from a fresh, new cluster but we start with a new table containing some data:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; highlight: [1,3,5,7]; title: ; notranslate\" title=\"\">\npostgres=# create table x ( a int, b text );\nCREATE TABLE\npostgres=# insert into x select i, i::text from generate_series(1,10000) i;\nINSERT 0 10000\npostgres=# checkpoint;\nCHECKPOINT\npostgres=# select pg_relation_filepath(&#039;x&#039;);\n pg_relation_filepath \n----------------------\n base\/5\/16399\n(1 row)\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">As we know already from the <a href=\"https:\/\/www.dbi-services.com\/blog\/postgresql-17-incremental-backups-system-information-functions\/\" target=\"_blank\" rel=\"noreferrer noopener\">previous post<\/a>, all the changed blocks should be listed in the last WAL summary file:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,2]; title: ; notranslate\" title=\"\">\npostgres@debian12-pg:\/home\/postgres\/ &#x5B;pgdev] cd $PGDATA\/pg_wal\/summaries\/\npostgres@debian12-pg:\/u02\/pgdata\/PGDEV\/pg_wal\/summaries\/ &#x5B;pgdev] ls -latr\ntotal 92\n-rw------- 1 postgres postgres 4808 Jan 18 10:51 00000001000000000100002800000000010B3098.summary\n-rw------- 1 postgres postgres 4944 Jan 18 10:51 0000000100000000010B309800000000014E8838.summary\n-rw------- 1 postgres postgres   32 Jan 18 10:51 0000000100000000014E883800000000014E8938.summary\n-rw------- 1 postgres postgres  230 Jan 18 10:51 0000000100000000014E893800000000014EF360.summary\n-rw------- 1 postgres postgres   32 Jan 18 10:51 0000000100000000014EF36000000000014EF460.summary\n-rw------- 1 postgres postgres   88 Jan 18 10:51 0000000100000000014EF46000000000014EF798.summary\n-rw------- 1 postgres postgres   32 Jan 18 10:51 0000000100000000014EF79800000000014EF810.summary\n-rw------- 1 postgres postgres  682 Jan 18 11:11 0000000100000000014EF8100000000001557C00.summary\n-rw------- 1 postgres postgres   88 Jan 18 11:14 000000010000000001557C0000000000015598C8.summary\n-rw------- 1 postgres postgres 8250 Jan 18 11:23 0000000100000000015598C80000000005290968.summary\n-rw------- 1 postgres postgres 8490 Jan 18 11:29 00000001000000000529096800000000077DC3C0.summary\n-rw------- 1 postgres postgres  116 Jan 18 11:49 0000000100000000077DC3C000000000077DE570.summary\ndrwx------ 4 postgres postgres 4096 Jan 18 11:49 ..\n-rw------- 1 postgres postgres  434 Jan 18 14:29 0000000100000000077DE57000000000077F4060.summary\n-rw------- 1 postgres postgres  584 Jan 18 14:49 0000000100000000077F40600000000007811618.summary\n-rw------- 1 postgres postgres  756 Jan 18 15:35 00000001000000000781161800000000078D3198.summary\ndrwx------ 2 postgres postgres 4096 Jan 18 15:35 .\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">If we give the last summary file to pg_walsummary and grep for our table, we&#8217;ll get this:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\npostgres@debian12-pg:\/u02\/pgdata\/PGDEV\/pg_wal\/summaries\/ &#x5B;pgdev] pg_walsummary 00000001000000000781161800000000078D3198.summary | grep 16399\nTS 1663, DB 5, REL 16399, FORK main: limit 0\nTS 1663, DB 5, REL 16399, FORK main: blocks 0..53\nTS 1663, DB 5, REL 16399, FORK vm: block 0\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">The number of changed blocks reported here (0..53) is again consistent with what we can see on disk:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,3]; title: ; notranslate\" title=\"\">\npostgres@debian12-pg:\/u02\/pgdata\/PGDEV\/pg_wal\/summaries\/ &#x5B;pgdev] ls -la ..\/..\/base\/5\/16399\n-rw------- 1 postgres postgres 442368 Jan 18 15:35 ..\/..\/base\/5\/16399\npostgres@debian12-pg:\/u02\/pgdata\/PGDEV\/pg_wal\/summaries\/ &#x5B;pgdev] echo &quot;442368\/8192&quot; | bc\n54\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">&#8220;limit 0&#8221; means, that the relation was either created or truncated in this range of WAL and &#8220;vm&#8221; means the <a href=\"https:\/\/www.postgresql.org\/docs\/current\/storage-vm.html\">visibility map<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By default pg_walsummary gives you a line per range of blocks, but you may list the individual blocks as well:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1]; title: ; notranslate\" title=\"\">\npostgres@debian12-pg:\/u02\/pgdata\/PGDEV\/pg_wal\/summaries\/ &#x5B;pgdev] pg_walsummary --individual 00000001000000000781161800000000078D3198.summary | grep 16399\nTS 1663, DB 5, REL 16399, FORK main: limit 0\nTS 1663, DB 5, REL 16399, FORK main: block 0\nTS 1663, DB 5, REL 16399, FORK main: block 1\nTS 1663, DB 5, REL 16399, FORK main: block 2\nTS 1663, DB 5, REL 16399, FORK main: block 3\n...\nTS 1663, DB 5, REL 16399, FORK main: block 52\nTS 1663, DB 5, REL 16399, FORK main: block 53\nTS 1663, DB 5, REL 16399, FORK vm: block 0\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Another option you have is to give all the summary files to pg_walsummary:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1]; title: ; notranslate\" title=\"\">\npostgres@debian12-pg:\/u02\/pgdata\/PGDEV\/pg_wal\/summaries\/ &#x5B;pgdev] pg_walsummary *\nTS 1663, DB 1, REL 112, FORK main: block 0\nTS 1663, DB 1, REL 113, FORK main: block 0\nTS 1663, DB 1, REL 174, FORK main: block 0\nTS 1663, DB 1, REL 175, FORK main: block 0\nTS 1663, DB 1, REL 548, FORK main: block 0\nTS 1663, DB 1, REL 549, FORK main: block 0\nTS 1663, DB 1, REL 827, FORK main: block 0\nTS 1663, DB 1, REL 828, FORK main: block 0\nTS 1663, DB 1, REL 2187, FORK main: block 0\nTS 1663, DB 1, REL 2228, FORK main: blocks 0..1\nTS 1663, DB 1, REL 2337, FORK main: block 0\n...\nTS 1663, DB 5, REL 16402, FORK main: limit 0\nTS 1663, DB 5, REL 16403, FORK main: limit 0\nTS 1663, DB 5, REL 16403, FORK main: block 0\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Depending on what you&#8217;re interested in, you can now easily grep over the output.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I don&#8217;t think pg_walsummary is something a lot of people will use on a day by day basis, but having it available for troubleshooting and testing is great.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the last posts about the new incremental backup feature we&#8217;ve looked at the following topics: In this post we&#8217;ll look into the final topic for this feature: In addition to what was described in the previous posts, there is also a new utility which made it into PostgreSQL: pg_walsummary. As the name implies this&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-30294","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>PostgreSQL 17: Incremental backups, pg_walsummary - 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\/postgresql-17-incremental-backups-pg_walsummary\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL 17: Incremental backups, pg_walsummary\" \/>\n<meta property=\"og:description\" content=\"In the last posts about the new incremental backup feature we&#8217;ve looked at the following topics: In this post we&#8217;ll look into the final topic for this feature: In addition to what was described in the previous posts, there is also a new utility which made it into PostgreSQL: pg_walsummary. As the name implies this&hellip;&nbsp;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/postgresql-17-incremental-backups-pg_walsummary\/\" \/>\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=\"2024-01-20T15:10:00+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\\\/postgresql-17-incremental-backups-pg_walsummary\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-17-incremental-backups-pg_walsummary\\\/\"},\"author\":{\"name\":\"Open source Team\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/0b4548362cac3eeff8b3eaf329e3530a\"},\"headline\":\"PostgreSQL 17: Incremental backups, pg_walsummary\",\"datePublished\":\"2024-01-20T15:10:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-17-incremental-backups-pg_walsummary\\\/\"},\"wordCount\":299,\"commentCount\":0,\"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\\\/postgresql-17-incremental-backups-pg_walsummary\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-17-incremental-backups-pg_walsummary\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-17-incremental-backups-pg_walsummary\\\/\",\"name\":\"PostgreSQL 17: Incremental backups, pg_walsummary - dbi services | Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2024-01-20T15:10:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-17-incremental-backups-pg_walsummary\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-17-incremental-backups-pg_walsummary\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-17-incremental-backups-pg_walsummary\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL 17: Incremental backups, pg_walsummary\"}]},{\"@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":"PostgreSQL 17: Incremental backups, pg_walsummary - 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\/postgresql-17-incremental-backups-pg_walsummary\/","og_locale":"en_US","og_type":"article","og_title":"PostgreSQL 17: Incremental backups, pg_walsummary","og_description":"In the last posts about the new incremental backup feature we&#8217;ve looked at the following topics: In this post we&#8217;ll look into the final topic for this feature: In addition to what was described in the previous posts, there is also a new utility which made it into PostgreSQL: pg_walsummary. As the name implies this&hellip;&nbsp;","og_url":"https:\/\/www.dbi-services.com\/blog\/postgresql-17-incremental-backups-pg_walsummary\/","og_site_name":"dbi services | Blog","article_publisher":"https:\/\/www.facebook.com\/dbiservices\/","article_published_time":"2024-01-20T15:10:00+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\/postgresql-17-incremental-backups-pg_walsummary\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-17-incremental-backups-pg_walsummary\/"},"author":{"name":"Open source Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/0b4548362cac3eeff8b3eaf329e3530a"},"headline":"PostgreSQL 17: Incremental backups, pg_walsummary","datePublished":"2024-01-20T15:10:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-17-incremental-backups-pg_walsummary\/"},"wordCount":299,"commentCount":0,"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\/postgresql-17-incremental-backups-pg_walsummary\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-17-incremental-backups-pg_walsummary\/","url":"https:\/\/www.dbi-services.com\/blog\/postgresql-17-incremental-backups-pg_walsummary\/","name":"PostgreSQL 17: Incremental backups, pg_walsummary - dbi services | Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2024-01-20T15:10:00+00:00","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-17-incremental-backups-pg_walsummary\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/postgresql-17-incremental-backups-pg_walsummary\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-17-incremental-backups-pg_walsummary\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL 17: Incremental backups, pg_walsummary"}]},{"@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\/30294","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=30294"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/30294\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=30294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=30294"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=30294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}