Crunchy Data Blog

crunchydata.com · Company blog · on HN since 2016

Crunchy Data's blog, from a Postgres provider, offers tips, performance findings, and features for PostgreSQL and its analytics integrations.

What HN saysHN commenters recommend Crunchy Data as an enterprise Postgres provider and note the company's incentive to do a lot with Postgres alone.
187HN people shared it
81linked it in comments
595stories submitted
7.6Kstory points
3 months agolast shared
2016people per year2026

Most-shared posts

  1. 1
    Homepage
    9 people · first shared 2017
  2. 2
    Postgres support for JSON is 10 years old
    7 people · 17 points · first shared 2022 · 1 comments on HN
  3. 3
    Postgres Tips and Tricks
    6 people · 54 points · first shared 2022 · 2 comments on HN
  4. 4
    PostgreSQL Benchmarks: Apple ARM M1 MacBook Pro 2020
    6 people · 42 points · first shared 2020 · 9 comments on HN
  5. 5
    Control Runaway Postgres Queries with Statement Timeout
    6 people · 26 points · first shared 2020 · discussion on HN
  6. 6
  7. 7
    Message Queuing Using Native PostgreSQL
    6 people · 1 points · first shared 2022 · discussion on HN
  8. 8
  9. 9
    PostgreSQL Monitoring for App Developers
    5 people · 38 points · first shared 2020 · discussion on HN
  10. 10
  11. 11
    Why PostgreSQL 13 is a Lucky Release
    5 people · 27 points · first shared 2020 · discussion on HN
  12. 12
    Logical Replication from Postgres to Iceberg
    5 people · 22 points · first shared 2025 · 1 comments on HN
  13. 13
    SQL Comments Trick Improves Postgres Traceability
    5 people · 12 points · first shared 2022 · discussion on HN
  14. 14
  15. 15
    From Crazy Idea to Postgres in the Browser
    5 people · 4 points · first shared 2022 · discussion on HN

What HN people wrote when they linked it

verdverm · 2022-08-10
https://www.crunchydata.com/ This group deals in enterprise grade postgres only. Why would someone even consider replacing them with Supabase? The main problem with adoption, I suspect, is that their self-hosting story is not great and their per-app pricing is not that friendly beyond a handful of apps. Might be one of the reasons their growth is no longer accelerating. They seem more focused on adding product lines than in making one really great. Also, their main interfaces are "click buttons in a UI" or "write SQL". Why is this something a Rails, Django, or devs who code should consider changing too?
np_tedious · 2022-02-09
I have nothing to disagree with here, but it's worth noting that his company Crunchy Data are themselves a postgres provider. So they, more then most, have the chops and incentive to do a great deal in postgres alone. https://www.crunchydata.com/
brightball · 2023-01-31
Best option is https://www.crunchydata.com/ IMO.
gvkhna · 2023-10-08
Great to hear, a benchmark against trigram searching with gin index would also be great. There are multiple ways to do full text search with postgres and they’re all insanely fast and memory efficient. Benchmarking various methods for comparison would be helpful. https://www.crunchydata.com/blog/postgres-full-text-search-a-search-en…
craigkerstiens · 2023-03-21
The Art of PostgreSQL is great and super thorough. Knowing the author I can't fault him on price for the effort he put into it. But also your point of students and developers in low income countries completely understand that side. It's a shameless plug but we built our Postgres playground with tutorials on a number of topics which are completely free aiming to help target some of that audience - https://www.crunchydata.com/developers/tutorials
metadat · 2022-09-25
Pretty amazing to get all of PHP working in WASM. Next maybe we can get full MySQL, too (like the Crunchy Postgres port [0] [1]). Would also love to see it for Java, Go, Perl, Sed, and Awk :) What if Intelli-J could run in the browser? Yes please. I bet some of these even already exist. What a time to be alive, 15 years ago I'd never have guessed Javascript could evolve into this! [0] https://www.crunchydata.com/blog/crazy-idea-to-postgres-in-the-web-bro… [1] https://news.ycombinator.com/item?id=32498435 (August 22, 2022; 814 points, 172 comments) ^ n.b. Submitted by @samwillis
bradgessler · 2022-08-25
Would it be OK if service like https://www.crunchydata.com was integrated with Fly?
benschwarz · 2022-08-24
My company moved a 600GB postgres db to crunchydata (https://www.crunchydata.com), the process was super smooth. In fact, it went so well that I agreed to a quick case study: https://www.crunchydata.com/case-studies/calibre. We're currently using Heroku for app hosting, while evaluating fly.io, render.com and railway.app. All three have had exceptional reviews from other customers and differ slightly on their service offerings and setups. All seem like viable alternatives so far!
mrkurt · 2021-09-22
Our Postgres is pretty great up to about 500GB. We'll be pushing that higher over the next year, but we have several customers using Crunchy Data (https://www.crunchydata.com/products/crunchy-bridge/) in conjunction with their Fly.io apps. We intentionally give you super user access to your DBs so it's easy to migrate or spin up your own replicas. Our bet is that _most_ people won't outgrow our Postgres but having an escape hatch is still very comforting. We previously worked on Compose.com. We, at least, understand how to manage huge databases when the time comes.
rattray · 2020-10-08
Thanks! Agreed that's much less concerning. Congrats on the job change to https://www.crunchydata.com/ btw! Hope you're able to continue your community-benefiting work there.
everdev · 2019-04-27
A nice list but I'd also add row-level security (RLS): https://info.crunchydata.com/blog/a-postgresql-row-level-security-prim… It's amazing how much effort we put into restricting access on the server, but ignore user roles on the data layer.
drewda · 2019-04-12
Some other companies that specialize in Postgres support/hosting/commercial tooling: - https://www.crunchydata.com/ - https://www.enterprisedb.com/
pgaddict · 2017-10-16
Sure you can. TL works for Crunchy Data [https://www.crunchydata.com/] and I suppose he gets involved in solving customer issues.
karmelapple · 2024-05-31
We do, although we're in the middle of moving our entire Heroku Postgres spend over to Crunchy Data [1]. We were getting close to one of the big jumps on the standard pricing of Heroku Postgres, and we would have had to basically double our monthly cost to lift the max data we could store from 1.5TB to 2.0TB. On Crunchy Data, that additional disk space will be like 1% more rather than 100% more. While investigating Crunchy, I ran some benchmarks, and I found Crunchy Bridge Postgres to be running 3X faster than Heroku Postgres. Heroku seems to be working on some interesting new things, but I feel burned by the subpar performance and lack of basically any new features over many years. I don't know if the new Aurora-based database will be faster than Crunchy, but the benchmarks they're talking about sound like they're finally about to catch them. But we also have better features on Crunchy, too, such as logical replication. Logical replication is still not available on Heroku. The experience for deploying apps and having add-ons is still pretty easy, but we'll see how that improves. HTTP2 support is still in beta. 1. https://www.crunchydata.com
asguy · 2023-04-23
I think you're projecting an implementation of a queue in Postgres, which isn't how most people implement these things. [0] We're not doing table level locks, or creating contention with multiple queue producers or consumers, and they're not "one typo away from disaster in prod". To do this right, you're using row level locking e.g. SELECT FOR UPDATE/SKIP LOCKED [1], and hopefully you're already using idle_in_transaction_session_timeout to deal with total consumer failures. A properly designed queue in Postgres runs more-or-less in parallel, and supports (really fantastic features like) atomic row locks across all resources needed to serve the queue request. If you need extremely long consumer timeouts, it's also totally fine to use RLLs in addition to state on the job itself. [0] - https://www.crunchydata.com/blog/message-queuing-using-native-postgres… [1] - https://www.2ndquadrant.com/en/blog/what-is-select-skip-locked-for-in-…
rektide · 2022-12-25
Both of the kubernetes operators are extremely good. Zalando's uses Patroni for HA, and CrunchyData's has their own HA impl. Both have great backup systems built in. > Any way the Postgres DB can be setup in a fire and forget setup and scaled just by adding new nodes for read and write? Generally I'd reply yes and no, yes, adding readers is pretty easy with these operators. No, postgres is generally single writer. But the CrunchyData k8s operator (pgo) has active-active mode. I dont know much scalability this really buys, since ultimately everyone needs to soak the write load. There is sharding too, built into postgres, but I count myself as blessed that so far straight up verticle scaling has tackled every problem I've ever had and sharding hasnt beem required. Anyways here's a post on setting up active active in pgo, https://www.crunchydata.com/blog/multi-cluster-postgres-federation-on-… One thing missing from your post is any information on workload. What kind of data are you storing, what kind of use are you expecting,... it's hard to make recommendatuons in the abstract.
OrvalWintermute · 2021-09-06
Postgresql can do everything I need, but not everything I want, and apologies to mysql fans, but I refuse to touch it. And, I think over the years they have been such an awesome community that has helped me irregularly when I popped into IRC every year or two for a problem I was having. https://github.com/davidfetter ; https://github.com/RhodiumToad ; https://github.com/bmomjian - you are great peeps! What I would like to see are more security usability enhancements over and above what you find in https://www.crunchydata.com/products/hardened-postgres/ Security Enhancements List: Attack Resistance Better protections for the DBMS itself in assume compromised scenarios, or malicious users Customized implementations per compliance/security regime Accelerators for various security configurations Self-audit, self-secure Functionality Enhancements List: Continuous Sync Postgres to other serious DB (not a one-way sync, not a DB move)
brandur · 2020-12-01
(Author here.) I think you're confusing a couple different major classes of languages — declarative versus procedural. I said specifically "most expressive ever for querying and manipulating data", and I'd stand by that. The nice part about SQL compared to the languages you've cited is that you just need to specify the "what" and not the "how". I tell it what data to fetch, where I want it from, how I wanted it grouped/sorted (etc.), and the engine figures out the best (and probably a very efficient) way to do that. This is different from a procedural language like Python or Rust where it'd be on me to also define every implementation detail — get data from here, join by doing this and with that algorithm, sort what comes out, ... This gives SQL a number of very nice properties: * It's very fast and succinct to write. * Even very complex queries are likely to be executed as optimally as they can be (because database engines tend to be very good at this). * It's so high-level that it can actually get more performant over time. See for example Postgres 12, which eliminated an optimization fence for CTEs (common table expressions) [1], which means that a lot of queries got faster automatically, without the user having to do _anything_. I love a lot the languages you listed, but SQL is a different animal, and amazing in a way that's quite unique. --- [1] https://info.crunchydata.com/blog/with-queries-present-future-common-t…
igorw · 2026-03-10
While Postgres did introduce skip scan in 18, it only works for equality matching: https://www.crunchydata.com/blog/get-excited-about-postgres-18#b-tree-…
craftkiller · 2025-12-12
If you're using postgres, couldn't you just create an index on the field inside the JSONB column directly? What advantage are you getting from extracting it to a separate column? CREATE INDEX idx_status_gin ON my_table USING gin ((data->'status')); ref: https://www.crunchydata.com/blog/indexing-jsonb-in-postgres
akio · 2025-09-07
Evan Siroky's Timezone Boundary Builder[0] is a good source of time zone boundary mappings. It can be used via a library in nearly any language you would want[1], or loaded directly into Postgres and used with PostGIS in queries[2] (of course, if you load it into your DB you should have a process for keeping it updated). It would be wonderful if Jiff supported coordinates-to-tz lookups out of the box :) [0]: https://github.com/evansiroky/timezone-boundary-builder/releases [1]: https://github.com/evansiroky/timezone-boundary-builder#lookup-librari… [2]: https://www.crunchydata.com/blog/timezone-transformation-using-locatio…
wenc · 2025-05-04
That requires data to already be in Postgres, otherwise you have to ETL data into it first. DuckDB on the other hand works with data as-is (Parquet, TSV, sqlite, postgres... whether on disk, S3, etc.) with requiring an ETL step (though if the data isn't already in a columnar format, things are gonna be slow... but it will still work). I work with Parquet data directly with no ETL step. I can literally drop into Jupyter or a Python REPL and duckdb.query("from '*.parquet'") Correct me if I'm wrong, but I don't think that's possible with Postgis. (even pg_parquet requires copying? [1]) [1] https://www.crunchydata.com/blog/pg_parquet-an-extension-to-connect-po…
digianarchist · 2025-04-27
I’d heard of using Postgres schemas before but not RLS. Interesting… https://www.crunchydata.com/blog/row-level-security-for-tenants-in-pos…
jot · 2025-03-08
How is this different from Crunchy Warehouse which is also built on Postgres and DuckDB? https://www.crunchydata.com/products/warehouse
readyplayernull · 2025-01-04
The easiest way would be running Postgres: https://www.crunchydata.com/blog/postgres-full-text-search-a-search-en… The problem is getting all the data. If you try to scrap another search engine it will punish you. You could think on a distributed collaborative SE that scraps the web from the IP addresses of each device.
softinio · 2025-01-01
For Postgres take a look at this: https://www.crunchydata.com/developers/tutorials
seungwoolee518 · 2024-10-11
Relevant blog post doing Queue on PostgreSQL: "Devious SQL: Message Queuing Using Native PostgreSQL", Crunchy Data Blog, "Sep 1, 2021", https://www.crunchydata.com/blog/message-queuing-using-native-postgres…
mmastrac · 2024-09-02
Adding to parent comment's context -- it's specifically called "row-level security". The docs show a number of examples for this: [0] https://www.postgresql.org/docs/current/ddl-rowsecurity.html -- a policy on the account relation to allow only members of the managers role to access rows, and only rows of their accounts CREATE TABLE accounts (manager text, company text, contact_email text); ALTER TABLE accounts ENABLE ROW LEVEL SECURITY; CREATE POLICY account_managers ON accounts TO managers USING (manager = current_user); EDIT: That page doesn't cover session vars, but this one does: https://www.crunchydata.com/blog/row-level-security-for-tenants-in-pos…
Nathanba · 2024-08-28
it is very interesting, I have a similar blog post in my bookmarks as well: https://www.crunchydata.com/blog/generating-json-directly-from-postgre… the problem is that it only works with Postgres, not mysql or sqlite or pretty much anything else (at least not as conveniently) and the bigger problem is that the queries become more complex

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close