by levkk on 4/15/25, 2:33 PM with 50 comments
by PaulHoule on 4/15/25, 2:57 PM
One of the things that puts metaprogramming on wheels is being able to pull in grammars, schemas and such for external systems. Think how many cool tools we could have if we could do this in a more general way.
by film42 on 4/16/25, 12:36 AM
by danpalmer on 4/16/25, 3:51 AM
Additionally, maybe this is just a pet peeve with Postgres documentation in general, but the docs use "database" to mean both a single database and a Postgres server interchangeably. On some pages this makes the content harder to understand. I think it's good practice to distinguish between databases and "clusters" (no, not those clusters, actually servers), and perhaps between clusters and groups of servers. While some of the naming is unfortunate for historical reasons, re-using the same names for different concepts just causes more confusion.
by jedberg on 4/15/25, 4:24 PM
And the fact that this works at all is another example of why Postgres is the default data store on the internet. It's battle tested and has a massive ecosystem of support tools, like this one.
by skeptrune on 4/15/25, 2:44 PM
I'm impressed both that the Rust ecosystem had the right library available and that it was high enough quality code for the author's team to use it as a reference for building their own additional functionality.
by avinassh on 4/15/25, 4:35 PM
I am wondering, why it took so long for something like this to happen for Postgres, where as Vitess existed for MySQL more than a decade. I am not an expert, but I hear Citus is not really a fair comparison with Vitess.
by hamburglar on 4/15/25, 5:23 PM
by Sytten on 4/16/25, 12:37 AM
The neon approach of decoupling storage from processing but keeping the processing a query local to one server seems better to me, but I am maybe missing something.
by grep_it on 4/15/25, 3:59 PM
This makes it sound like the query would be routed to all shards except the one matching HASH(25). But wouldn't id != 25 need to go to all shards, since there could be values in the id set that hash to the same shard as 25?
by submerge on 4/16/25, 2:54 AM
I know it sounds silly/crazy but I have a use case where I would like to allow "mostly" trusted users to access the database directly and not through an API, but I need to apply some restrictions on their output.
by antirez on 4/15/25, 8:32 PM
Why one would want to do that? Only reason I can think of is, so that values < 4 can be reserved for future users, like new versions of client-server that agree on 64 bit payload if the first 4 bytes are zero or alike. But there are better ways.
by ustad on 4/15/25, 3:18 PM
by gourabmi on 4/15/25, 11:27 PM