Looking Ahead to Postgres 19

(snowflake.com)

91 points | by thinkingemote 1 hour ago

12 comments

  • sega_sai 22 minutes ago
    Speaking as long-term (>15 years) user of Postgres in science, I am getting worried about the lack of columnar type of storage in Postgresql. As the datasets become bigger and bigger, the limitations of PG's storage are becoming more and more significant. I know there are various extensions (i.e. cetus) that may offer such functionality, but then you depend on that extension being supported in the future, as well additional complexity.
    • tyre 17 minutes ago
      You might be using the wrong database if that’s what you’re hoping for. Columnar databases are a separate category.

      It’s like saying that you’re getting worried Apple doesn’t sell washing machines.

      • sega_sai 1 minute ago
        PostgreSQL was a right tool for my task for many years. It is a question for PostgreSQL can adapt to a new reality of much bigger datasets or I have to switch to a new tool. And I am not the only user of Postgresql in this context. So it is easy to say in vacuum 'you are using the wrong database', but it's not something that can be easily changed with 100s of Tb of data, existing user workflows etc.
      • mickeyp 8 minutes ago
        I mean I don't disagree with you, but they did just add a graph database feature, which is about as orthogonal to relational database design as you can get.
    • znpy 0 minutes ago
      I was about to post something similar.

      There was a big fanfare about orioledb a while ago, and i think it got bought by people that wanted to push that into mainstream postgres?

      Did it die somewhere along the road?

    • segmondy 11 minutes ago
      Fine by me, as a 25 years user. More is not necessarily better, see redis.
  • aljgz 55 minutes ago
    I've used Postgres, Oracle, MsSql Server, and MySql in serious projects, no extensive experience with Sqlite, which I know is an amazing player.

    These days, I do myself a favor and always avoid Oracle and MySql/MariaDB.

    Postgres is amazing, and the two big things I wished it had:

    1. lightweight connection; connection bouncers improve the situation, but you still have an unreasonably high memory footprint per concurrent connection.

    2. Synchronously updated materialized views (Sql Server calls them indexed views). These are incredible tools in complex data situations. I saw a project struggle with complex technical implementations that would be elegant, trivial and always correct with indexed views.

    Sql Server can be costly, but in many cases the benefits it provides are totally worth the cost.

    Choosing the data store carefully prevents lots of future trouble.

    • bob1029 32 minutes ago
      SQLite and MSSQL are my two solutions for relational storage problems.

      If I am going to use a "free" provider, SQLite is impossible to beat. They cover a majority of use cases today. SQLite starts to fall apart with backup, replication and tooling. If I am on the hook for things like system availability and disaster recovery, I don't have a problem spending money to cover my ass.

      If I am going to pay any amount of money at all, I am going all the way. The developer experience around MSSQL is untouchable. SSMS and VS with sql projects runs circles around contemporary entity framework crap. Sprinkle in 3rd party tools from vendors like RedGate and you can replace multi-million dollar consulting packages.

      I wouldn't ever advocate for standing up a new Oracle or DB2 machine, but if one was already in place I'd probably die on the hill of not trying to refactor it away. These databases typically come with multi-volume ghost stories attached. Reinventing all those weird effects on a new engine will typically kill the business if there are no other options available.

    • asah 31 minutes ago
      two techniques I use with pg:

      1. "materialize" the view as a full table, then index that. Any reasonable pipeline/ETL tool can provide incremental updates between tables. Obviously, anything materialized requires considerations around storage, replication, backup/restore, I/O, etc.

      2. use a regular VIEW and index (precisely) the underlying expressions mentioned in the view, i.e. so when the view is used, then the indexes get used.

      Both require rewriting SQL, though I've used VIEWs to make the change transparent.

    • d125q 40 minutes ago
      Care to share some examples where SQL Server's indexed views would shine?

      In my eyes they're similar to triggers, which incur a high performance overhead in OLTP systems and are shunned by developers. In OLAP systems custom ETL code will likely outperform them.

      • mickeyp 7 minutes ago
        These things exist to eliminate the risk of ever serving stale information from a materialised view. I.e., their benefit is political/reputational as much as they are technical in the sense that they save you effort like remembering to invalidate a MV after an ingest operation.

        Stale MV is a thing you only ever burn your fingers on once. Like how "It's not DNS" is a common meme in networking.

    • ksec 35 minutes ago
      >I do myself a favor and always avoid Oracle and MySql/MariaDB.

      So what's wrong with MySQL or MariaDB?

      • phamilton 9 minutes ago
        Just a set of things too minor to move off of it but annoying enough to not want to start with it.

        My list:

        No `explain (analyze,buffers)`. Instant DDL has some warts (e.g. fk, metadata locks). Query planning bugs (actually... query planning in general is disappointing). Exiting the repl doesn't stop queries. Implicit type casting. Replication lag from large DDL (e.g. creating an index). Lack of two phase DDL (creating constraints NOT VALID and then VALIDATE later). Lack of extensions (e.g. pg_vector). No safe access to inspect buffer cache. AWS Aurora seems to only add shiny new things to Postgres. And more.

        Again, none of this is quite enough to migrate off of it for an established system, but certainly enough to avoid it on a new project.

    • cwnyth 49 minutes ago
      What's wrong with MariaDB?
      • chuckadams 14 minutes ago
        Last I looked, MariaDB still implemented JSON columns as LONGTEXT under the covers, making it a non-starter for any serious use of said type.
    • pbronez 47 minutes ago
      I am currently fighting my way off SQL Server towards PostgreSQL.

      Windows Server is a real pain to operate and the SQL Server ecosystem expects you to run a lot of add-ons on the server alongside your database. Those don’t translate to managed database services, so you lose a lot of functionality if you jump to RDS or similar.

      The first party tools are also aging poorly. SSIS and SSRS are not fun. SSMS is ok for what it is but can’t compete with the ecosystem around PostgreSQL.

      Maybe I’m missing something but I can’t wait to ditch it.

      • hotsauceror 31 minutes ago
        What are some of the add-ons that you run on the server? We run ours in a pretty bare-bones manner so I'm interested to hear what you're doing.
  • aynyc 5 minutes ago
    I'm wondering. Just wondering? Will they ever support multiple storage engines like MariaDB? Having a storage engine that support OLTP or OLAP or append-only would be cool. I totally understand if they don't want to do that.
  • magnio 50 minutes ago
    i like the COPY and logical replication improvements. Currently I back up my PG database with a sidecar Databasus instance that is heavier than my entire backend + DB + Caddy!

    (LLM writing rant below)

    ---

    > That alone tells you something: Users had a real need, and the ecosystem filled the gap.

    > This sounds straightforward, but it solves a real operational problem.

    > None of these change the world. All of them make day-to-day data workflows better.

    > The easy thing to do here is list planner changes and call it done. But the more useful takeaway is this: Postgres keeps getting better at recognizing the shape of common queries and doing less unnecessary work.

    > [Proceed to list planner changes]

    If Orwell were alive today, he might declare himself illiterate in English and learn Klingon just to avoid having to read these.

  • mickeyp 10 minutes ago
    The graph database feature looks interesting, but I wonder...

    SELECT customer_name FROM GRAPH_TABLE (myshop MATCH (c IS customers)-[IS customer_orders]->(o IS orders WHERE o.ordered_when = current_date) COLUMNS (c.name AS customer_name));

    That is _awful_ syntax; it is reminiscent of neo4j, which is surely not a tool anyone serious should copy from outright in 2026.

    And of course the final thing I am left wondering is if it's fast. Row-level security is such a useful feature and yet only a fool would contemplate building anything serious with Postgres', as the planner goes haywire and does per-row-matching, nuking performance.

  • mkurz 1 hour ago
    No word that PostgreSQL 19 introduces native application-time temporal data support based on the SQL:2011 standard? https://www.depesz.com/2026/04/02/waiting-for-postgresql-19-...
    • mickeyp 4 minutes ago
      They're a cool feature but honestly a bit tricky to use well, IMHO. And be careful with PII lingering in a temporal void somewhere for a long time :-)
    • unfocso 49 minutes ago
      Wow. Incredible how this was not mentioned in the OP. I had done it with tcn triggers and adding "_archive" shadown tables manually with tcn (https://www.postgresql.org/docs/current/tcn.html), but doing it natively is gonna be, as per most postgresql implementations, wonderful.
    • m_w_ 1 hour ago
      Nor more than a mention of Query Hints, which had some interesting discussion under a similarly-titled submission.

      https://news.ycombinator.com/item?id=48413655

  • Jysix 30 minutes ago
    I'm dreaming of block compression in Postgresql, instead of only row compression, too limited to be effective. I know you can store your data on a Zfs pool with block compression, but having it native would remove the burdain of setting this up and maybe better perf.
  • tehlike 29 minutes ago
    I am looking forward to the day it supports table access methods that enables variety of use cases out of box.

    Something like rocksdb as PG backend would be fantastic. Yugabyte does this but it's not PG.

  • breakingcups 1 hour ago
    I can't decide whether this person writes in the type of style that was apparently overrepresented in LLM training, or whether they heavily used AI to spruce up their writing. I'm learning towards the latter.
    • tux3 54 minutes ago
      Spruce up is unreasonably charitable. I'm more irritated that the authorship information is misleading. craig-kerstiens is not available on Huggingface, and yet not a single sentence in this article seems to have been typed on a keyboard.

      When Claude writes things like "as someone who has spent a lot of time doing X", I think this is also a kind of failure of alignment. LLMs shouldn't write as if they had personal experience. It's something a person might say in the training data, but I just think LLMs shouldn't claim life experience they don't have, even if that's a statistically likely sequence of tokens.

    • iterateoften 57 minutes ago
      These low effort constant comments about style or formatting are against Hackernews guidelines for discussions and something needs to be done to clean up the comment section. Getting to a ridiculous point
      • theappsecguy 53 minutes ago
        It's not about style or formatting, people are tired of reading slop.
        • horsawlarway 44 minutes ago
          These comments are worse than the slop.
          • bspammer 11 minutes ago
            They aren't actually. They make me feel like I'm not going crazy - that I'm not the only person noticing that the quality of the average article on hacker news has dropped off a cliff in the last 6 months. Links from different people with different cultures, life experiences, and languages have the same tone of voice, the same sentence structure, and the same breathless, boring, staccato yet arrhythmic, emotive yet soulless style.

            I hope everyone keeps pointing it out. Even better, change the site guidelines to make AI generated articles a flaggable offense. It's already been done for comments.

    • eatonphil 58 minutes ago
      Pangram says the text is entirely AI generated but I don't know how trustworthy Pangram is. (I would love to hear what others think about it.)
    • __s 35 minutes ago
      You don't need to be charitable, Snowflake laid off technical writers citing AI to replace them: https://snowflake.help/snowflake-layoffs-2026-technical-writ...
    • Waterluvian 1 hour ago
      I get it's in vogue to take stabs at whether or not AI was used. But I think the more useful approach is to instead be critical of the end product, if you have criticisms of it.
      • bronson 1 hour ago
        This IS a criticism of the end product.
        • Waterluvian 1 hour ago
          This actually gave me an amusing idea: a book review club that strictly reviews the cover art, book binding, hand feel, paper weight, font, etc. of the book.
          • red_trumpet 53 minutes ago
            How weird a book club that actively ignores the style of writing would be!
            • chuckadams 8 minutes ago
              That's most vinyl collectors I know of these days, they collect for the album art and might never land a needle on the actual record.
          • throwaway613746 56 minutes ago
            [dead]
  • ing33k 58 minutes ago
    The Authors avatar looked familiar, crunchydata ?
    • eatonphil 56 minutes ago
      Snowflake acquired Crunchy Data yes and Craig was at Crunchy Data.
      • pbronez 44 minutes ago
        Interesting, I was wondering why Snowflake was investing in PostgreSQL. Looks like Snowflake bought Crunchy Data and Databricks bought NEON… so the two leading DWaaS companies have managed PostgreSQL offerings now.
        • __s 37 minutes ago
          & ClickHouse has managed Postgres in open beta (which I work on)
  • klaussilveira 38 minutes ago
    Oh my, finally a reason to upgrade from 16.
    • fourseventy 33 minutes ago
      The Async I/O in PG18 is what got me to jump from 16
  • felix-the-cat 1 hour ago
    This looks amazing, we've been using Postgres in production for the last two years on a fairly high-volume system and it's been fantastic.