Back to News
Advertisement
Advertisement

⚡ Community Insights

Discussion Sentiment

74% Positive

Analyzed from 4256 words in the discussion.

Trending Topics

#postgres#mysql#more#need#https#sqlite#postgresql#data#com#where

Discussion (121 Comments)Read Original on HackerNews

HighlandSpringabout 3 hours ago
This isn't just theory either, for example: Revolut is a bank that does all its event persistence and streaming on top of postgres. No traditional message queues/brokers in their stack.

https://medium.com/revolut/recording-more-events-but-where-w...

majormajorabout 1 hour ago
If you start here, with the "Postgres will take you wherever you need to go" meme, without thinking extremely deeply about your schema and how you expect to evolve it in the future, you can easily paint yourself into a very difficult and expensive corner.

It's easy to use Postgres poorly in ways that result in painful centralized bottlenecks.

(Obviously this is largely true for anything, but I think that in 2026, where there's also a lot of more-specialized/less-fleible but much-easier-to-scale well-supported mature alternatives, you should be VERY wary of making everything have a single central SPOF. What are your users going to expect in terms of maintenance windows, etc.)

I'd be cautious with articles that say things like "All cloud providers allow you to run (and scale!) PostgreSQL by clicking a single button." with no mention of how long that will take and what options should be set to make it faster, or the costs of those things.

pbreit5 minutes ago
I dunno. I think the main takeaway here is that you can do 80-95% of your stuff in Postgres and eschew all the unnecessary, unproven stores.
encodererabout 1 hour ago
It doesn't take very long (because compute and storage are separate in most of them) but good lord does it get expensive. Every time you click that upgrade button you are doubling your cost. It's really painful when you have a spiky workload that is performing fine like 95% of the time but you are watching the p99 and need to double the cost of a very expensive infra component, only to improve the experience of the heaviest 4% of your workload. This is to say nothing of the gambit you then have to play with reservations/prepays.
stackskiptonabout 2 hours ago
As SRE dealing with this at current company, a benefit of using well known software like Kafka is a lot of problems you will run into have solutions/guidance already available vs you having to explore solutions which a lot of time end with “Kafka could easily do this. “
cyh555about 1 hour ago
100% except when Kafka goes wrong, who maintains it?
ethbr136 minutes ago
There are two sizes of companies: those that can afford '1+ dedicated ____-person' and those that can't. Which should filter through to technology choices more than it does.
striking39 minutes ago
Nose goes
dzonga41 minutes ago
starling bank uk uses a similar kind of stack. both java based as revolut.
andriy_kovalabout 1 hour ago
they likely have something on top of PG to distribute data across shards, which is still untrivial task I think and require ops overhead.
devinabout 3 hours ago
This kind of post (Postgres! It's all you need!) is getting pretty tiresome. Postgres does not even come close to a full replacement for Elastic, and that's just the first bullet.

Looking down the list it is pretty easy to go: Yes, postgres can be used instead of that for extremely basic use cases, but it all goes out the window you actually need any of the power of these other tools.

0cf8612b2e1eabout 1 hour ago
I think it would be helpful if some of these posts included scale. There are almost always two groups talking past each other

  - I run my B2B application, Postgres only, and it is perfect for my 50k MAU. No complaints, sleeping soundly with the low complexity and a two man team. 
  - I work at FAANG, where we have 1 billion DAU, and this is a joke. Would fall over immediately. The dedicated ops teams for Kubernetes, Elastic, and Redis have never complained about scaling issues.
joshuamoyers43 minutes ago
i think 1 billion DAU is the exception here, so I would not expect everyone to constantly caveat personally.
0cf8612b2e1e9 minutes ago
Agreed, but many of the criticisms I am reading here are assuming high scaling requirements and invalidating the approach entirely. When there are many business domains that will comfortably fit within a modestly specced database instance.
vb-844826 minutes ago
> Postgres does not even come close to a full replacement for Elastic

Size matters!

For most of the application out there elastic (or kafka or any other specialized tool) is just too much(and too costly). They can do fine with postgres or mysql. Actually, I'd argue that in a lot of cases even postgres is too much, probably sqlite is enough.

philippemnoel31 minutes ago
You're right that vanilla Postgres doesn't come close to replacing Elastic. There are efforts to resolve this, though, like ParadeDB: https://github.com/paradedb/paradedb (disclaimer: I work for ParadeDB)
majewsky28 minutes ago
"Disclaimer" means "don't take this seriously because I'm not an expert". You mean "disclosure".
kumarvvrabout 2 hours ago
The power of the other tools mostly shines in large scales. For most applications, though, performance of postgres more than suffices.

I tried to use rabbitmq for a small app, installed it, configured it and then it didn't work. Spent a day jumping through hoops getting it right.

Dumped it and used postgres, in half an hour. Worked like a charm.

aaaronicabout 2 hours ago
Sure, best not to overcomplicate early if you don't need it.

PG is great and I work with it daily, but it's also not a problem to think about scale early and at least have a notional plan for what to and how to know when scale is becoming an issue in your system as you're designing it. Even PG is overkill and sqlite is more than enough for some of my projects.

There are a lot of specialized tools available, but you definitely don't need to put every one in your toolbox. Experience and observation help you make those edits -- and of course there's almost always room for improvement, but "good enough" definitely exists (until it doesn't anymore :D).

ethbr133 minutes ago
This is the way. Notionally building a space/path to scale into architecture early, but delaying implementation of that scaling component until actually needed.

Then a system gets most of the benefits of not accidentally making it torturous to rearchitect for scale, without paying the headcount / complexity cost until it's needed.

osenerabout 1 hour ago
Would your app run equally well with sqlite?
wolttamabout 3 hours ago
That's just it - most use-cases are pretty basic, and if you don’t know what you need then Postgres is probably a great place to start.

If you’re just starting out, keep things simple. Otherwise, you probably already know exactly why you need something more than Postgres.

deweyabout 3 hours ago
The point is in general for people to just consider it, often people start out on their side projects or internal company projects and commission Elastic, Redis, Postgres, Kafka before even getting started. In reality they could fit it all into Postgres for a very long time.

Nobody is saying that a huge ecommerce store with complicated filtered search logic should throw away their Elasticsearch cluster and switch to Postgres.

devinabout 2 hours ago
If you actually start looking into these things, you often start looking at custom pg extensions, which means you just made the decision to "simplify" your stack by maintaining your own postgres cluster with custom extensions. This is just papering over the fact that you're increasing the complexity and saying "well it's still just postgres!" as you do it.
pphyschabout 1 hour ago
Installing & maintaining a Postgres extension is vastly, vastly simpler than running Elasticsearch and Kafka. Like, how could you even compare these things if you know what you are talking about?

Or maybe you are looking at it from "just swipe your credit card at AWS" perspective, in which case "just use Postgres" articles are for a different audience.

deweyabout 2 hours ago
Not really, most popular extensions are available on GCP/AWS (https://docs.cloud.google.com/sql/docs/postgres/extensions) out of the box and there's many things that you can easily run in Postgres without extensions (Queue, KV store).
airockerabout 3 hours ago
Postgres its all you need means to me(IMHO) postgres for all Olap (DB + message) , not all analytical databases.
andriy_koval37 minutes ago
It can run analytics too, natively on some volumes of data, but also there are more specialized extensions.
jjordanabout 3 hours ago
I'm partial to Typesense, especially for smaller data sets, since it runs primarily in memory, is easy to use and is hella fast. For bigger data sets, I hear good things about Meilisearch.
otherme123about 2 hours ago
I have a lot of troubles with a small private instance of Rocket chat, all due to MongoDb stuff, versions, migrations and backups. I bet almost all private instances of Rocket chat would be perfectly served with Postgres.

Posts like this can be tiresome, yet the general consensus among developers seems to be "yeah, Postgre/SQLite is ok for 99% of the cases, but MY case is going to be in the 1%, because I am going to be the next Facebook".

anarazelabout 3 hours ago
Fwiw, I, as someone who has worked on Postgres for a long time, also find it quite tiresome. Like there's plenty stuff I wouldn't use Postgres for, and I can probably get get more out of it than most.
onesandofgrainabout 3 hours ago
if you need elastic youre doing something wrong
dzonga7 minutes ago
to risk sounding like a madman - if you're a solo individual- serving b2b small businesses.

then Sqlite works as well too. can run the whole thing on Cloudflare.

running Postgres isn't difficult. but dealing with a VPS for low traffic is a headache that's not necessary.

replwoacauseabout 3 hours ago
I use SQLite for everything, and I'm perfectly happy with it. I'm aware of the concurrent writer issues, but at my scale it doesn't even matter.
zuluxabout 2 hours ago
Perfectly reasonable:

I'm a huge PG fan, so I start everything with it, but SQLite is sane, and it generally has a happy upgrade path to PG If you need it.

thatwasunusualabout 2 hours ago
It's the other way around for me: as 99% of the stuff I develop is .NET (and I use EF Core for database stuff), I can get away with SQLite for local development, prototyping (and even staging), and then just "flip a switch" for it to run on production PostgreSQL.

Both are amazing technologies.

zelphirkaltabout 1 hour ago
I can't recommend this "switch". If you are not testing locally with the same relational database as in production, you can miss mistakes and bugs. This is not just theoretical. One example where I thought I will be fine using SQLite was with a small Django project. But time and time again I ran into limitations of either SQLite or Django's database adapter for SQLite, when it came to dealing with many to many relationships in the model and through tables, requiring me to work around the limitations. There is no guarantee, that these workarounds in turn will work the same in PostgreSQL in production.

Anyway, it is a basic practice of keeping test and dev environment as close as feasible to production, to avoid missing issues and wrong assumptions.

Merad44 minutes ago
That's kind of risky considering the radical differences between types in SQLite and Postgres. There are plenty of situations where EF will need to be configured differently in order to map your .Net types correctly to each DB. Or subtle differences in behavior due to storage differences (particularly SQLite's predilection for storing things as strings). It's so trivially easy to run Postgres in Docker that I don't really see the advantage of using SQLite for local dev.
bpavukabout 2 hours ago
EF Core is so easy to turn into a disgrace for performance, developer experience, AND build times...
joewilsabout 3 hours ago
Same, I posted some corrections to Dr. Bauer's article: https://joecode.com/2026-08-19-sqlite3/
Thaxllabout 2 hours ago
The main issue with SQLite is the very poor type system, after testing it for an app I was shocked.
OutOfHereabout 2 hours ago
Are you saying that STRICT was insufficient for you? What more did you want beyond one of: INT, INTEGER, REAL, TEXT, BLOB, ANY?

https://sqlite.org/stricttables.html

lenkiteabout 2 hours ago
Want SQL-92 standard DATE/TIME/TIMESTAMP.
bensyversonabout 3 hours ago
Yes, especially for a web app where there’s realistically only a need for one VM/server. By the time you outgrow that approach, a very straightforward migration to Postgres is probably the least complex problem you face.
florianherrengtabout 2 hours ago
> PostgreSQL Replacing Your Microservice

I've done that before and the code was a mess. It works at the beginning but APIs do much more than piping data from the database. When you start dealing with ACL, external calls, code reuse, etc. It's just nice to have all the tools available to you from something like Python or Go.

Gluberabout 3 hours ago
I tend to agree with quite a few points in the article, but some topics warrant some careful scrutiny.

* As a message queue: Only if your required features are very basic, like if you need cluster communication and run your own coordination protocol on top.

* High Volume Time Series: TimeScale works, but composes badly with other workloads on the same DB server ( from an operational perspective at scale )

* Vector Database: The same issues as with TimeScale.. PgVector for example lives in its own seperate "world" and the query planner sees it as a very opaque thing. Forget about adding vector storage to an existing high volume db, that must server other complex queries.. PGVector will either trash your caches, or take over your cpu so that workloads that used to work fine stall. This is IMO not a pgvector problem itself ( Kudos to those guys ) but rather that postgresql extension apis are not very good at exposing custom costs and tradeoffs to the system as a whole.

* Raw Data: Works for small files... why anyone would want to store large amounts of data in it would be a mystery, where it shines is accessing LOTS of small files where internal caching etc help a lot compared to raw filesystem access ( also a bit dependent on the filesystem and its tuning though )

* Microservice: If your service is ONLY exposing json data from some database model, then it should not exist at all IMO. Create a view and be done with it.

Gluberabout 3 hours ago
Also to note: (Not a fault of PGVector again just a limit of our algorithmic knowledge) PGVector does HSNW or IVFlat indices ... (there is nothing better persistent) however it breaks down with high latency at LARGE amounts of vectors ( 100MIO+ ) that seems like a high ceiling, but when designing production RAG systems, you tend to do per chunk embeddings, or even visual patch embeddings... e.g one page of a document becomes 1024 vectors in itself (for visual patch embeddings ) ... so you hit those limits at 100000 pages already.. something larger organizations definitly have.
OutOfHereabout 1 hour ago
I would keep a per-document summary, then dive down only into the filtered set. This is more production grade than selecting from billions of chunks.
jjiceabout 3 hours ago
I like to consider Postgres the starting point for all of these things, that can be outgrown and replaced when appropriate. I do love just shoving everything in Postgres and seeing that I only end up needing a few additional dedicated services as the product groups. Redis is usually the next pickup for me.
Gluberabout 3 hours ago
Sure, thats a good way of working.. I just have the experience when handing over a project ( consulting ) anything i have put in place will never get replaced or kept for too long outgrowing its capacity by far, and offset with huge expenses in hardware or operations. Technically not my problem anymore ( except when it breaks on a maintenance contract ) but i still like to avoid it early if i can
cauchykabout 1 hour ago
as someone who loves postgres, this take is getting pretty old. yes we can do quite a bit with extensions but extensions often need to interface with external systems and even then managed providers don't consistently support all extensions. some gaps: bm25 indexes, olap support, also extensions also run into licensing restrictions.
silvestrovabout 3 hours ago
PostGIS is also another very useful addition for storing, indexing, and querying geospatial data.

http://www.postgis.net

erlichabout 3 hours ago
It's more "what one tool can do everything", not that its ideal. Like why people use Microsoft Teams even though its terrible.

The relational model and sql force us to simplify our data models too much by eliminating relationships or just not dealing with them.

Think about a nested json blob from some web service api and storing it in SQL in normalized tables. No one is going to do that. Everything just becomes a denormalized mess and everything is hacked around it.

Instead of modeling things in the proper way, most of the world's data is modeled in a way so that we don't have join explosions in sql queries because they look scary. Data pipelines become these scary batch transformations where data is dumped somewhere else without anyway to trace back where it came from.

I encounter so many end-user applications and systems where you wonder: "why couldn't they allow a list of items here instead of a single box" or "why can't this reference this other thing".

orevabout 2 hours ago
I think you’re responding to the general idea of a relational database, not Postgres, and definitely not what’s in the article (DR;CA).

Postgres has built in data types and functions that allows it to work with unstructured json documents, like you would use in MongoDB.

aaaronicabout 1 hour ago
That feature is definitely part of why it's still so relevant. The hstore approach wasn't nearly enough when it was all PG offered.
datadrivenangelabout 3 hours ago
people do that with JSON way too often...
theonewolf26 minutes ago
For "replacing your microservice" you should checkout PostgREST. It basically turns PostgreSQL into a microservice.
vantassell17 minutes ago
I tried PostgREST and regretted it. I ran into many situations where I wanted a thicker backend between my webapp and db.
pelzatessaabout 1 hour ago
Hey Raphael Bauer, if you're reading this, I suggest you change the color of hrefs on your website, all of them are purple and underlined, which usually is indicator for "Already visited URL". For me that's not that much of a problem, but it was something i kept noticing when reading the article. I wonder if anyone else also had this thought or am I alone as I didn't see anyone else mention this in the comments. But I wanted to signal that nevertheless :)
Advertisement
_joelabout 3 hours ago
No mention of https://postgis.net/ - shameful
ethagnawlabout 2 hours ago
> Timescale lately released the pgvector extension, that turns your PostgreSQL into a vector database.

I don't think this is accurate and smells like an LLM hallucination to me.

From the Timescale/Tiger Data _pgvectorscale_ project's README:

> pgvectorscale builds on pgvector with higher performance embedding search and cost-efficient storage for AI applications.

I think this is where the confusion originates. I believe pgvector is primarily Andrew Kane (@ankane) and a cadre of OSS contributors.

As an aside, I've used Timescale/Tiger Data products and was very happy with them and their support. Their team was very engaged and responsive to all of our questions. They also fixed a pretty gnarly indexing bug I uncovered in pgvectorscale in an impressively short amount of time.

b-manabout 3 hours ago
if you are searching for something similar but with more meat: https://ebellani.github.io/blog/2026/all-you-need-is-postgre...
CSMastermindabout 3 hours ago
Tsarpabout 3 hours ago
sqlite for everything

NVMe drives + Litestream + object storage(S3/R2..). sqlite simplifies things for the entire long tail of apps/services that aren't the Ubers and AirBNBs of the world.

skybrianabout 3 hours ago
It looks interesting, but deciding on where to put object storage is what keeps me from doing this. I don’t have an AWS or Cloudflare account and I’m not sure what to commit to.

Also, apparently Litestream could use a filesystem instead of an object store?

Ozzie_osmanabout 3 hours ago
I love postgres and use it heavily, but I still don't fully understand how it overlook MySQL. Maybe because of Heroku adopting it.

MySQL was generally faster, and while MyISAM was a bit limited Innodb was pretty powerful, and you had the choice. It was also simpler (imo) and avoided a lot of the xid/vacuum issues.

That said, still love Postgres. But at the time it started eclipsing MySQL, MySQL felt better positioned.

williamdcltabout 3 hours ago
I've not interacted with mysql a whole lot, but when i did I was regularly surprised that it didn't have stuff I was missing from Postgres. Off the top of my mind:

- Query planner is much worse (just yesterday I had to USE INDEX to sped up a query by 300x, I'm near-certain postgres would just have gotten it right) - Indexes are much more limited: no GIST, no GIN - No transactional lock (`pg_advisory_xact_lock` in postgres). This one was very surprising, it's a really useful thing and I had to implement it myself as a lock table

atherton94027about 3 hours ago
At least you have access to USE INDEX on MySQL. On Postgres it's not rare to have a query suddenly perform awful in production because some switch flipped in the planner and now it's picking some random index
tux3about 2 hours ago
Good news is that they just added a plan stability feature in pg19. It's actually full planner hints, so you can edit the plan to whatever you want if you have no fear, but the main motivation is exactly index stability.
fabian2kabout 3 hours ago
MySQL had some problematic design decisions initially. They might be fixed now, but the impression remained. And later there was the added complication that they were bought by Oracle, so you didn't really know how this would turn out in the end.

PostgreSQL also had more features back then, e.g. the JSON support is very nice if you need to do anything that doesn't neatly fit into the relational model.

_joelabout 3 hours ago
Maria, MySQL, Oracle shenannigans, perhaps.

Also postgres is a "proper" db, so I'm glad it generally won out.

pandinusabout 3 hours ago
Back in the day, the sentiment was the MySQL was more-performant but the criticized tradeoff of having "cut corners". I still remember when their transaction support InnoDB table engine came out. Anyway Postgres was viewed as slower but more standards compliant - so mature architects preferred that. MySQL, in my opinion, fell into default usage among LAMP stacks and PHP-using kiddies. Postgres took the crown over time.
bingemakerabout 3 hours ago
MySQL was a proven solution back in the day, i.e late 2000s. Github/Twitter/Heroku etc were using it. In the past 10-15 years, Postgres has come a long way.
jeremyjhabout 3 hours ago
MySQL was always behind in terms of features. In early 2000s it had very limited constraints. Most people were running in ISAM backend and did not even have transaction support. It was being used by people who did not understand how advanced relational DBs were being used. What changed is Postgres overtook its actual competition, which were Oracle, SQL Server and Sybase.

MySQL caught up as well as far as I know, but it still may have some poor defaults that are widely used.

roryirvineabout 3 hours ago
In the early days, PostgreSQL was so much more awkward to deal with. Crash-prone at first, and then there was the whole business around having to drop the db during upgrades. It didn't really match MySQL operationally until around 2002.

During the dot com era it was common to develop and launch on MySQL with the intention of migrating to something else if they became successful (though your typical LAMP stack developer regarded Oracle and SQL Server as being deeply 'weird', so many were willing to stick with MySQL despite the well-known limitations of MyISAM).

From where I'm standing, it seems that PostgreSQL became clearly preferable for new projects from the mid 2000s onwards, but it was only the Oracle acquisition that began to push existing users off MySQL.

piokochabout 3 hours ago
In the times when everyone was installing Apache + PHP + "Some database" stack, the easy path was to use MySQL for a very simple reason: it had ready to use MS Windows installer.

Another thing: those were times when web applications were practically 99% reads, and not so great ACID was a non-issue.

Postgres is OK, but it has really a lot of quirks that are not that obvious.

JaggerFooabout 2 hours ago
Use case matters.

I use a SQL databases as needed. I've used Postgres, Sqlite, Duckdb, Json files with AWS Athena, Oracle enterprise for ERP systems (a multitude of schemas and objects with interoperability), and others.

I'm currently, deploying Duckdb with AWS S3 Tables (Iceberg) to see how it fits for a use case I have.

IT is great and always changing. Keep trying new things.

Cheers

cyberax12 minutes ago
In my experience, it still kinda sucks if you want to store blobs. Anything on this front?
efxhoyabout 3 hours ago
Ive built data warehouses and job queues on postgres. The DW got replaced with bigquery when we started doing more tracking. We still run postgres as an app-facing cache of the aggregated data from bigquery though.

The job queue runs on the cache db, scheduling jobs to move data from bigquery into postgres. It’s pretty neat.

Now we’ve run into near-real-time requirements so clickhouse is getting thrown into the mix.

It’s pretty funny the lengths we go to to implement user facing analytics that’s basically just “you are visitor number X” from 1995.

vivzkestrelabout 2 hours ago
- mind coming and enligtening about PostgreSQL and XML?

- https://www.reddit.com/r/PostgreSQL/comments/1vbo5j8/raw_xml...

- your post did not have a single word on XML hence my comment

juancnabout 3 hours ago
As usual, it depends on the scale, but it's a sane default for 99% of use cases.

Different use cases have different scalability limits in PG, when you get to them you need to deal with them.

It would be perfect if it had somewhat transparent sharding, I mean a way to add another instance and distribute load without having to stop everything.

There are solutions, but they tend to be involved and when you get to that point in many cases it makes sense to just move that workload to something else that scales better.

Advertisement
idoubtitabout 3 hours ago
Why write a fanboy text with unfair comparisons that hide the Postgres limitations?

For instance, for many simple needs MySQL is simpler than Postgres, with similar performance and consistency.

* No need for a connection pool, while many use cases with Postgres require PgBouncer and Co.

* Easy sort (and basic search) of multilingual text, because MySQL has case insensitive UTF8 collations.

* No need to VACUUM, which can be a hard problem (it was, the last time I used Postgres).

For full text search, I once worked on a project that considered several alternatives for this, including Postgres. Manticore Search was finally chosen because it was more performant, with better search results.

fabian2kabout 3 hours ago
If you run a single application, or a few instances of the same application, you don't need an external pool and most frameworks have an internal connection pool anyway.

Not sure if I'm missing anything here, but if I want case-insensitive search I simply create an index on lower(column) and use that to query.

VACUUM is something you need to pay attention to at scale. And at that point you need to know your DB anyway and tune it. For smaller applications (and I don't mean only toy applications) it usually isn't an issue.

tux3about 2 hours ago
>if I want case-insensitive search I simply create an index on lower(column) and use that to query

Or even pg_trgm trigram indexes, which are case-insensitive by default and support similarity search to accept typos and misspellings.

jppopeabout 3 hours ago
I like Postgres. It is a good general purpose database. I like other databases too. Other databases can do some things that Postgres can't do as well.
lvncelotabout 2 hours ago
One addition: Postgres for all your GPU-based machine learning training and inference needs: https://github.com/postgresml/postgresml
sreekanth850about 3 hours ago
How do you implement HA in postgres, i found MySQL HA stack pretty straight forward with Innodb cluster, MySQL router and Shell.
macartainabout 2 hours ago
https://patroni.readthedocs.io/

But I sure wish it was 'core' and we didn't have to worry about it potentially going away, becoming de-supported..

sreekanth850about 2 hours ago
Yes, especially something that touches DB. Router and shell are stupidly simple and you get auto failover in some 30 minutes. That is something make me stick to mysql.
shayonjabout 2 hours ago
Nice one re: flatbuffers in `blob` column. Have been working with flatbuffers a lot and that's a neat idea in general.

Not 100% sure about using PG for file system at scale however. I'd love to hear more on the challenges (vacuum, toast, anything else?)

kavokabout 2 hours ago
Surprised it doesn't mention LISTEN / NOTIFY.
ericpauleyabout 3 hours ago
Postgres is great, but I certainly don't think it's great for everything. For instance, while you can in theory implement OLAP aggregation you're going to be hand-rolling a bunch of stuff that something like Clickhouse gives you for free declaratively.
est31about 2 hours ago
With Lakebase Postgres you can do this very easily: https://docs.databricks.com/aws/en/oltp/projects/quickstart-...

It is already a quite smooth experience, but there is work to make it even easier than that.

I work on Lakebase, opinions my own.

molfabout 3 hours ago
I don't think the point is that PostgreSQL is great for everything. But you may get by with a single piece of infrastructure instead of 7.

In most of the applications we build or maintain we use PostgreSQL + cloud storage. That's it. And it works very well, also for: storing JSON, full text search, as a queue, as a vector database. Other software may be better at providing those features, but I'm extremely happy we only need to understand & manage PostgreSQL.

ericpauleyabout 3 hours ago
The article says verbatim “PostgreSQL Replaces Clickhouse”.

Coming from storing billions of rows in Clickhouse and performing dozens of materialized operations I shudder to think about what that would look like in a DB that doesn’t even support declarative IVM.

hnrprtlpdbabout 4 hours ago
The older I get the more I agree with this
TekMolabout 3 hours ago
SQLite has so many advantages over PostgreSQL.

No deamon. Single file per DB. Less configuration overhead.

BowBunabout 3 hours ago
Postgres also has many advantages over SQLite.

Supporting more than 1 writer per process. Strict typing. Access controls. Replication at scale is more effecient than copy-pasting files (seems SQLite has improved on this one).

pstuartabout 3 hours ago
It's probably perfect for a majority of work (and DuckDB takes that even further).

But for big, multi-writer work PG is the way to go.

Advertisement
warpechabout 3 hours ago
Honorable mention - https://postgrest.org/
lillecarlabout 2 hours ago
I find it odd that this isn't mentioned anywhere in an article about using postgres for everything.
aleks_me2about 3 hours ago
Can Partitioning be used to move data to S3 Storage, for long term archiving?
__sabout 2 hours ago
In theory yes, just need s3 fdw

I demonstrated this with ClickHouse: https://github.com/ClickHouse/pg_clickhouse/blob/main/doc/of...

We're working on a chdb based mechanism to copy to/from s3, maybe with fdw on top we can back table in s3

You can try similar things with pg_duckdb & pg_lake

ignaciovdkabout 2 hours ago
No, and with timescaledb is a feature of their cloud platform. For on prem you can use something like Arc: https://github.com/Basekick-Labs/arc
aleks_me2about 2 hours ago
Thank you.

I have decided to use clickhouse with that config because of missing S3 for logs and metrics for long term store.

  <clickhouse>
    <storage_configuration>
      <disks>
        <audit_s3>
          <type>s3</type>
          <endpoint>https://S3-EndPoint/{{ audit_bucket_name }}/clickhouse/</endpoint>
          <access_key_id>{{ clickhouse_audit_s3_access_key }}</access_key_id>
          <secret_access_key>{{ clickhouse_audit_s3_secret_key }}</secret_access_key>
        </audit_s3>
      </disks>
      <policies>
        <audit_tiered>
          <volumes>
            <default>
              <disk>default</disk>
            </default>
            <audit_s3>
              <disk>audit_s3</disk>
            </audit_s3>
          </volumes>
        </audit_tiered>
      </policies>
    </storage_configuration>
  </clickhouse>
vlindosabout 2 hours ago
How many production system has serious queues using PostgreSQL?
piterrroabout 3 hours ago
true to that - currently using psql (in a single monolithic codebase) as: sql db, json db, vector store, logs store, full-text search, queue, message bus.

multiple processes connected to it.

opengearsabout 4 hours ago
up2isomorphismabout 3 hours ago
Hardware is so far nowadays to make people with little systems knowledge confident to make such claims at least from their use cases. However it is neither generally reasonable nor efficient.
oreallyabout 3 hours ago
isn't the process per connection restriction pretty heavyweight though?
onesandofgrainabout 3 hours ago
the more ive coded the more this is true
jihadjihadabout 3 hours ago
For the graph database idea in Postgres, PG 19 has native support for property graphs [0]. You can set up your tables and their relationships as nodes/edges, then query against them using Cypher-esque [1] syntax.

0: https://www.postgresql.org/docs/19/ddl-property-graphs.html

1: https://www.postgresql.org/docs/19/queries-graph.html

rwultschabout 4 hours ago
"MySQL was also potentially faster as it did not implement all features of the SQL standard. "

This is a not great start. I assume it refers to MyISAM which has not been relevant for over a decade at this point. InnoDB made different design than PG decisions and was (and perhaps still is) faster at point lookups.

radiospielabout 3 hours ago
Well, the poster explicitly talks about 2003 here: „ In 2003, MySQL was much more widely used than PostgreSQL. MySQL was also potentially faster as it did not implement all features of the SQL standard“
browningstreetabout 3 hours ago
At the time, MySQL was also the default for every PHP backed webhost provider. That's the market they lost. They're the Perl of DBs.
actionfromafarabout 3 hours ago
Didn't very early mysql play fast and loose with the concept of actually syncing to disk? That was also fast. Web scale fast. :)
Advertisement