Blog Post

Azure Database for PostgreSQL Blog
3 MIN READ

PostgreSQL 17 Preview on Azure Postgres Flexible Server

varun-dhawan's avatar
varun-dhawan
Icon for Microsoft rankMicrosoft
Sep 30, 2024



We are thrilled to announce the preview release of PostgreSQL 17 on Azure Database for PostgreSQL Flexible Server! This release brings a host of new features and enhancements that promise to elevate your PostgreSQL experience. Our goal with this preview is to provide an opportunity for early testing into the new capabilities of PostgreSQL 17^ and enable customers to start testing these features before we transition into general availability.

What’s New in PostgreSQL 17?


PostgreSQL 17 continues the tradition of innovation with several key features aimed at improving database performance, manageability, and developer experience. Here are some of the highlights:

  • Getting Insights into Memory Usage via EXPLAIN: PostgreSQL 17 introduces an enhancement to the EXPLAIN command that reports the memory usage of the query planner during the preparation of execution plans. This information helps identify queries that consume excessive memory during the planning phase, aiding in query optimization and resource management.
    -- For example: EXPLAIN ANALYZE SELECT * FROM my_table WHERE id < 100; -- The new EXPLAIN output now includes a line like: Planning Memory Usage: 10,240 kB

 

  • Improvements to the Vacuum Process: Say goodbye to bloat! The enhanced vacuum process in PostgreSQL 17 ensures better space management and less interference with concurrent transactions, which means smoother database operations.

  • Enhanced JSON Functions: PostgreSQL 17 introduces new capabilities to simplify how you work with JSON data, including support for the JSON_TABLE function. This function allows you to convert JSON data directly into a relational table format, making it effortless to query and analyze JSON data using standard SQL without additional transformations.

     

    -- For example, say we have a JSON array that lists service regions and their availability: SELECT * FROM json_table( '[ {"region": "East US", "services": {"compute": "Available", "database": "Limited"}}, {"region": "West Europe", "services": {"compute": "Available", "database": "Available"}}, {"region": "Southeast Asia", "services": {"compute": "Limited", "database": "Available"}} ]', '$[*]' COLUMNS ( region_name TEXT PATH '$.region', compute_status TEXT PATH '$.services.compute', database_status TEXT PATH '$.services.database' ) ) AS region_info; -- This query will produce the following output: | region_name | compute_status | database_status | | -------------- | -------------- | --------------- | | East US | Available | Limited | | West Europe | Available | Available | | Southeast Asia | Limited | Available |

     

  • Dynamic Logical Replication: With support for dynamically changing the replication set without restarting or reconfiguring, PostgreSQL 17 simplifies the process of managing logical replication and enables more flexibility for your replication strategy.
    -- For instance, you can now use: ALTER PUBLICATION my_publication ADD TABLE new_table;


These are just a few of the exciting features introduced in PostgreSQL 17, and we can’t wait for you to try them out!


Celebrating Azure Postgres Contributions to PostgreSQL 17

The Azure Postgres team made 410 commits to the PostgreSQL 17 release, focusing on key improvements like I/O combining, query planner optimization, memory usage reduction, and better performance for partitioned tables. These contributions help make PostgreSQL 17 faster and more efficient, ensuring PostgreSQL delivers the best experience with the latest community innovations. To learn more about Microsoft’s contributions to the PostgreSQL open-source community, check out our blog: What’s new with Postgres at Microsoft, 2024 edition.

Roadmap and What’s Next

 

This preview release is just the beginning. Our team is actively working on providing Major Version Upgrade support for PostgreSQL 17, with the preview expected early next year and general availability soon after. Our goal is to ensure that customers can seamlessly upgrade to PostgreSQL 17 without downtime, leveraging the latest features and performance improvements.

We encourage you to try out PostgreSQL 17 on Azure Database for PostgreSQL Flexible Server and share your feedback by reaching out to us at AskAzurePostgreSQL@microsoft.com. Stay tuned for more updates as we bring you closer to general availability!

Updated Dec 03, 2024
Version 10.0
  • SteinTore's avatar
    SteinTore
    Copper Contributor

    Hi! Do you have a date for when we can upgrade our databases to PostgreSQL version 17? We are about to upgrade to 16 - but we might wanna wait for version 17 to be available.

  • Hi abc370 

    Thank you for your feedback, and I apologize for the confusion regarding our contact channels. Our previous contact email has been decommissioned, and we’re currently working to fully enable our new email channel.

     

    To clarify, the Azure Database for PostgreSQL Flexible Server is using the General Availability (GA) release of PostgreSQL 17, and our team has completed thorough testing prior to “preview” release. If you encounter any issues or have specific feedback, please don’t hesitate to reach out to me directly at **varun.dhawan@microsoft.com**. I’ll be happy to assist and ensure your input reaches the right team.

    - Varun

  • abc370's avatar
    abc370
    Copper Contributor

    varun-dhawanyou state in the article "We encourage you to try out PostgreSQL 17 on Azure Database for PostgreSQL Flexible Server and share your feedback by reaching out to us".

     

    But how are we supposed to feel encouraged by this statement when non-working contact info has been posted for the entire month of October? At this point, It is fair for the reader to assume you're not actually seeking feedback.

     

    But more broadly, how can this product be properly tested if it's not possible for any potential beta tester to reach your team? Should this blockage lead us to the reasonable conclusion that testing hasn't even started yet? PG17 was released over a month ago.

  • abc370's avatar
    abc370
    Copper Contributor

    varun-dhawan

    Thank you for addressing the typo. But it's still not possible to send email to that address -- delivery error is as follows:

     

     

  • abc370's avatar
    abc370
    Copper Contributor

    This is great news! Unfortunately, the email address mentioned in the last paragraph appears to be invalid: "Diagnostic-Code: smtp; 550 5.4.1 Recipient address rejected: Access denied."