{"id":76069,"date":"2019-03-20T09:00:17","date_gmt":"2019-03-20T16:00:17","guid":{"rendered":""},"modified":"2025-06-27T10:08:12","modified_gmt":"2025-06-27T17:08:12","slug":"postgres-learnings-azure-database-for-postgresql","status":"publish","type":"post","link":"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/","title":{"rendered":"What I learned in a year of Postgres \u2013 with Azure Database for PostgreSQL"},"content":{"rendered":"<figure class=\"wp-block-image alignleft is-resized\"><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/postgresql\/\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-hero-icon_280-150x150.webp\" alt=\"Postgres Azure logo\" class=\"wp-image-76087 webp-format\" style=\"width:130px\" srcset=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-hero-icon_280.webp 286w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-hero-icon_280-150x150.webp 150w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-hero-icon_280-250x250.webp 250w\" data-orig-src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-hero-icon_280.png\" data-orig-srcset=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-hero-icon_280.png 286w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-hero-icon_280-150x150.png 150w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-hero-icon_280-250x250.png 250w\"><\/a><\/figure>\n\n\n\n<p>It&#8217;s our birthday! <a href=\"https:\/\/azure.microsoft.com\/services\/postgresql\/\">Azure Database for PostgreSQL<\/a> became <a href=\"https:\/\/azure.microsoft.com\/blog\/announcing-general-availability-of-azure-database-services-for-mysql-and-postgresql\/\">generally available exactly a year ago<\/a>. From public preview to today, we&#8217;ve gone from mostly getting the &#8220;Postgres + Microsoft???&#8221; question to it not being as much of a surprise anymore. There&#8217;s an exciting road ahead, but an anniversary is a great time to look back and reflect on what we&#8217;ve learned over the past year.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"postgres-is-truly-global\">Postgres is truly global<\/h2>\n\n\n\n<p>I&#8217;ve learned this both from the swathe of Postgres conferences hosted all over the world and from our customers. Our team has visited Postgres users in Belgium, Brazil, Japan, India, Australia, Russia, France, Germany, and more. We&#8217;re also looking forward to extending our <a href=\"https:\/\/azure.microsoft.com\/en-us\/global-infrastructure\/services\/?products=postgresql&amp;regions=asia-pacific-east,asia-pacific-southeast,australia-central,australia-central-2,australia-east,australia-southeast,usgov-non-regional,us-dod-central,us-dod-east,usgov-arizona,usgov-iowa,usgov-texas,usgov-virginia,brazil-south,canada-central,canada-east,china-non-regional,china-east,china-east-2,china-north,china-north-2,europe-north,europe-west,france-central,france-south,germany-non-regional,germany-central,germany-northeast,central-india,south-india,west-india,japan-east,japan-west,korea-central,korea-south,united-kingdom-south,united-kingdom-west,us-central,us-east,us-east-2,us-north-central,us-south-central,us-west-central,us-west,us-west-2\">worldwide reach<\/a> with deployments to the <a href=\"https:\/\/azure.microsoft.com\/blog\/microsoft-opens-first-datacenters-in-africa-with-general-availability-of-microsoft-azure\/\">new South Africa Azure datacenter<\/a> in the future.<\/p>\n\n\n\n<p>If you&#8217;re gaining Postgres skills right now, the global aspect is great for you. It opens up job opportunities around the world. Also, the distributed demand should give you confidence about the longevity Postgres is likely to have.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"life-is-better-with-help-from-friends-like-citus\">Life is better with help from friends like Citus<\/h2>\n\n\n\n<p>If you haven&#8217;t yet heard, <a href=\"https:\/\/www.citusdata.com\/blog\/2019\/01\/24\/microsoft-acquires-citus-data\/\">Citus Data is now part of the Microsoft family<\/a>. We believe in the future of Postgres and admire its extensibility model and the incredible scenarios it enables, like Citus Data.<\/p>\n\n\n\n<p>Eight years ago, the Citus team set an ambitious goal: they were going to create a <a href=\"https:\/\/www.citusdata.com\/\">horizontally scalable relational database that is resilient and worry-free<\/a>. And, they set out to do that with Postgres. Today Citus is as an extension to Postgres, \u2013 <a href=\"https:\/\/www.citusdata.com\/blog\/2017\/10\/25\/what-it-means-to-be-a-postgresql-extension\/\">not a fork<\/a> \u2013 so you can apply your Postgres skills here too. The Citus team itself has made many contributions to enhance the Postgres ecosystem, from key extensions like WAL-E and pgloader to <a href=\"https:\/\/www.citusdata.com\/blog\/\">blogs<\/a> that showcase Postgres\u2019s strengths. It&#8217;s been a pleasure getting to know the Citus team better and we\u2019ll be learning a lot from each other so <a href=\"https:\/\/www.citusdata.com\/azure-interest\/\">stay tuned for what comes next<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"our-customers-aren-t-necessarily-postgres-experts\">Our customers aren\u2019t necessarily Postgres experts<\/h2>\n\n\n\n<p>We went into general availability with an assumption that most of our customers would have a few years of experience with Postgres. That didn&#8217;t play out the way we expected. Some of the companies now using Postgres in Azure have never used Postgres on-premises or in another cloud. In some cases, the company&#8217;s database expert had to be distributed across multiple RDBMSs, and Postgres may not be their primary SQL. Like I said, interest in Postgres is growing, and there are new players in the game from every industry.<\/p>\n\n\n\n<p>How does that affect how we develop Azure Postgres? Well, we want to make it a great place for everyone using Postgres \u2013 you don\u2019t have to be an expert. We want to keep the Postgres fundamentals the same, that way you can read great Postgres blogs and easily apply your knowledge here.<\/p>\n\n\n\n<p>There&#8217;s also room for us to make more software and docs that help people be more efficient working with Postgres, from SQL novices to people who are experts in other SQL products and now have Postgres in their workloads, and everyone in between.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-client-you-use-makes-a-difference\">The client you use makes a difference<\/h2>\n\n\n\n<p>As you interact with Postgres, the client you use matters \u2013 it affects your experience. We recently previewed <a href=\"https:\/\/azure.microsoft.com\/blog\/azure-data-studio-an-open-source-gui-editor-for-postgres\/\">support for Postgres in Azure Data Studio<\/a>, our cross-platform data editor. This support extends to Postgres anywhere \u2013 on-premises, on VMs, and from other managed cloud providers, not just Azure Postgres. Azure Data Studio has a lot of motifs and frameworks that are similar to the experience in modern IDEs. We also carried similar capabilities for <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-ossdata.vscode-postgresql\">PostgreSQL into VS Code<\/a>, creating an extension that you can use right beside your application code. The idea is to make the development experience feel familiar and intuitive, so that overall, we reduce any barriers to entry for people using Postgres.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"time-matters-when-troubleshooting-query-performance\">Time matters when troubleshooting query performance<\/h2>\n\n\n\n<p>For you, for us, for anyone who cares about how a system performs, timing is important. If someone comes to tell you that they experienced an issue with your application, you want to be able to quickly understand the cause. You want to know what else was going on at that time. Ideally your statistics table would tell you not only the current state, but also &#8220;what was happening at 12:15 on Monday?&#8221; It&#8217;d be helpful to see how a particular query normally trends in performance compared to what it was doing at 12:15. So, we made <a href=\"https:\/\/docs.microsoft.com\/azure\/postgresql\/concepts-query-store\">Query Store<\/a> in Azure Postgres to enable those scenarios.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"again-time-series-matters\">Again, time [-series] matters<\/h2>\n\n\n\n<p>Our feedback page tracks how many requests we receive for a specific feature. Our reigning champion <a href=\"https:\/\/feedback.azure.com\/forums\/597976-azure-database-for-postgresql\/suggestions\/20055946-timescaledb-extension\">is TimescaleDB<\/a>. (To be fair, there is probably an aspect of time-since-request-created that goes into number of votes). The first votes for this are from early in our preview period and demand has been consistently growing to where it is today.<\/p>\n\n\n\n<p>This makes sense. With storage and compute systems able to handle larger workloads, as developers we&#8217;re getting more granular about the data we analyze, as well as we\u2019re creating new use cases and products. <a href=\"https:\/\/azure.microsoft.com\/blog\/power-iot-and-time-series-workloads-with-timescaledb-for-azure-database-for-postgresql\/\">TimescaleDB in Azure Database for PostgreSQL<\/a> gets to be a part of that roadmap.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"people-love-socks\">People love socks<\/h2>\n\n\n\n<p>Or more broadly expressed, people love getting the most unusual-but-still-useful swag from product fairs. At PostgresConf 2018 we knew we were the newbies and may not get a lot of booth traffic. But once people heard about our socks\u2026 well, we got to meet a lot more people. A word of advice when you&#8217;re planning your next conference booth.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"we-can-do-more\">We can do more<\/h2>\n\n\n\n<p>I\u2019ve been a Product Manager for Azure Database for PostgreSQL for more than a year now. It\u2019s been a great experience being exposed to the vitality of the Postgres community and the database that\u2019s at the heart of it all. I know there\u2019s more we can do to meet our goal of giving you an awesome home for your Postgres workloads. <a href=\"https:\/\/feedback.azure.com\/forums\/597976-azure-database-for-postgresql\">Keep the feedback coming<\/a> and please continue <a href=\"https:\/\/twitter.com\/AzureDBPostgres\">engaging us<\/a>. We\u2019re listening and your feedback is essential to how we move forward.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"follow-rachel-rachel-agy\"><em>Follow Rachel <a href=\"https:\/\/twitter.com\/rachel_agy\">@rachel_agy<\/a><\/em><\/h3>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s our birthday! Azure Database for PostgreSQL became generally available exactly a year ago. From public preview to today, we&#8217;ve gone from mostly getting the &#8220;Postgres + Microsoft???&#8221; question to it not being as much of a surprise anymore.<\/p>\n","protected":false},"author":5562,"featured_media":76102,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"msxcm_post_with_no_image":false,"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","footnotes":""},"post_tag":[2272,166],"content-type":[346,361],"topic":[2241,2243],"programming-languages":[2263],"coauthors":[523],"class_list":["post-76069","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-microsoft","tag-azure","content-type-news","content-type-project-updates","topic-cloud","topic-databases","programming-languages-postgresql","review-flag-1593580419-521","review-flag-anywh-1593580318-567","review-flag-free-1593619513-693","review-flag-gener-1593580751-533","review-flag-never-1593580314-283","review-flag-new-1593580248-669","review-flag-publi-1593580761-124"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What I learned in a year of Postgres \u2013 with Azure Database for PostgreSQL | Microsoft Open Source Blog<\/title>\n<meta name=\"description\" content=\"Rachel Agyemang reflects on the past year working witht the Postgres community on Azure Database for PostgreSQL and the exciting road ahead.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What I learned in a year of Postgres \u2013 with Azure Database for PostgreSQL | Microsoft Open Source Blog\" \/>\n<meta property=\"og:description\" content=\"Rachel Agyemang reflects on the past year working witht the Postgres community on Azure Database for PostgreSQL and the exciting road ahead.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Open Source Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-03-20T16:00:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-27T17:08:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-social_1000x560.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"560\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Rachel Agyemang\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-social_1000x560.png\" \/>\n<meta name=\"twitter:creator\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:site\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rachel Agyemang\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 min read\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/\"},\"author\":[{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/author\/rachel-agyemang\/\",\"@type\":\"Person\",\"@name\":\"Rachel Agyemang\"}],\"headline\":\"What I learned in a year of Postgres \u2013 with Azure Database for PostgreSQL\",\"datePublished\":\"2019-03-20T16:00:17+00:00\",\"dateModified\":\"2025-06-27T17:08:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/\"},\"wordCount\":1031,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-social_1000x560.png\",\"keywords\":[\"Microsoft\",\"Microsoft Azure\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/\",\"name\":\"What I learned in a year of Postgres \u2013 with Azure Database for PostgreSQL | Microsoft Open Source Blog\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-social_1000x560.png\",\"datePublished\":\"2019-03-20T16:00:17+00:00\",\"dateModified\":\"2025-06-27T17:08:12+00:00\",\"description\":\"Rachel Agyemang reflects on the past year working witht the Postgres community on Azure Database for PostgreSQL and the exciting road ahead.\",\"breadcrumb\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#primaryimage\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-social_1000x560.png\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-social_1000x560.png\",\"width\":1000,\"height\":560,\"caption\":\"Azure cloud icons - illustration\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/opensource.microsoft.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What I learned in a year of Postgres \u2013 with Azure Database for PostgreSQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/\",\"name\":\"Microsoft Open Source Blog\",\"description\":\"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability\",\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\",\"name\":\"Microsoft Open Source Blog\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"width\":259,\"height\":194,\"caption\":\"Microsoft Open Source Blog\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/OpenAtMicrosoft\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What I learned in a year of Postgres \u2013 with Azure Database for PostgreSQL | Microsoft Open Source Blog","description":"Rachel Agyemang reflects on the past year working witht the Postgres community on Azure Database for PostgreSQL and the exciting road ahead.","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:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/","og_locale":"en_US","og_type":"article","og_title":"What I learned in a year of Postgres \u2013 with Azure Database for PostgreSQL | Microsoft Open Source Blog","og_description":"Rachel Agyemang reflects on the past year working witht the Postgres community on Azure Database for PostgreSQL and the exciting road ahead.","og_url":"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/","og_site_name":"Microsoft Open Source Blog","article_published_time":"2019-03-20T16:00:17+00:00","article_modified_time":"2025-06-27T17:08:12+00:00","og_image":[{"width":1000,"height":560,"url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-social_1000x560.png","type":"image\/png"}],"author":"Rachel Agyemang","twitter_card":"summary_large_image","twitter_image":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-social_1000x560.png","twitter_creator":"@OpenAtMicrosoft","twitter_site":"@OpenAtMicrosoft","twitter_misc":{"Written by":"Rachel Agyemang","Est. reading time":"4 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#article","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/"},"author":[{"@id":"https:\/\/opensource.microsoft.com\/blog\/author\/rachel-agyemang\/","@type":"Person","@name":"Rachel Agyemang"}],"headline":"What I learned in a year of Postgres \u2013 with Azure Database for PostgreSQL","datePublished":"2019-03-20T16:00:17+00:00","dateModified":"2025-06-27T17:08:12+00:00","mainEntityOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/"},"wordCount":1031,"commentCount":0,"publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-social_1000x560.png","keywords":["Microsoft","Microsoft Azure"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/","url":"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/","name":"What I learned in a year of Postgres \u2013 with Azure Database for PostgreSQL | Microsoft Open Source Blog","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#primaryimage"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-social_1000x560.png","datePublished":"2019-03-20T16:00:17+00:00","dateModified":"2025-06-27T17:08:12+00:00","description":"Rachel Agyemang reflects on the past year working witht the Postgres community on Azure Database for PostgreSQL and the exciting road ahead.","breadcrumb":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#primaryimage","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-social_1000x560.png","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/03\/postgres-social_1000x560.png","width":1000,"height":560,"caption":"Azure cloud icons - illustration"},{"@type":"BreadcrumbList","@id":"https:\/\/opensource.microsoft.com\/blog\/2019\/03\/20\/postgres-learnings-azure-database-for-postgresql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/opensource.microsoft.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What I learned in a year of Postgres \u2013 with Azure Database for PostgreSQL"}]},{"@type":"WebSite","@id":"https:\/\/opensource.microsoft.com\/blog\/#website","url":"https:\/\/opensource.microsoft.com\/blog\/","name":"Microsoft Open Source Blog","description":"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability","publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/opensource.microsoft.com\/blog\/#organization","name":"Microsoft Open Source Blog","url":"https:\/\/opensource.microsoft.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","width":259,"height":194,"caption":"Microsoft Open Source Blog"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/OpenAtMicrosoft"]}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Open Source Blog","distributor_original_site_url":"https:\/\/opensource.microsoft.com\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/76069","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/users\/5562"}],"replies":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/comments?post=76069"}],"version-history":[{"count":3,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/76069\/revisions"}],"predecessor-version":[{"id":97798,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/76069\/revisions\/97798"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media\/76102"}],"wp:attachment":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=76069"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/post_tag?post=76069"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/content-type?post=76069"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/topic?post=76069"},{"taxonomy":"programming-languages","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/programming-languages?post=76069"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/coauthors?post=76069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}