Fork me on GitHub
#sql
<
2020-01-27
>
orestis04:01:14

Any experiences with Postgres on AWS RDS? Good/bad/horror/managed alternatives?

orestis05:01:18

Aurora doesn’t seem to support in place major upgrades which seems off. I’d probably start with plain multi-az rds and see how it feels like...

orestis05:01:32

We don’t have a DBA on the team so my main fear with Postgres is that we’ll mess up :)

dharrigan07:01:21

We use PostgreSQL on RDS a lot. Never had any issues.

dharrigan07:01:19

Yes, keep an eye on maintanence windows, and plan for it. We have multi-region A-Z setups

dharrigan07:01:36

PostgreSQL is my favourite relational DB 🙂

orestis07:01:04

Are you using read replicas of any sorts? I was surprised to see that the multi-az setup, the second instance is only on standby and can’t serve traffic.

orestis07:01:36

So it seems that the only possible scaling is via read replicas with some lag, or scaling up for bigger machines.

orestis07:01:04

Not really concerned for my needs, just checking to see if I have an accurate picture...

dharrigan07:01:37

no read replicas, we dont' have that use-case (mostly it's very heavy writing)

dharrigan07:01:12

I consume millions of events per day and the CPU on the instance never goes about 4-5%

orestis08:01:58

Oh wow, what kind of instance are you running?

dharrigan08:01:43

db.r4.2xlarge

orestis09:01:46

Cool - may I also ask what your tech stack is? JVM/JDBC etc?

dharrigan09:01:06

We have many. But for what I'm doing, it's JVM based (running Clojure!)

dharrigan09:01:11

Mostly we are JVM based

dharrigan09:01:28

I'm using next jdbc and honeysql

dharrigan09:01:39

oh, I also do a lot of Postgis (geospatial) work

asier16:01:18

We use Postgres on RDS heavily too. Smooth experience.

kulminaator20:01:57

running around dozen postgres instances (often with read replicas or even many) on rds in production. i'm really happy i don't have to manage those machines by hand, can spend my time elsewhere.

kulminaator20:01:32

for only very big postgres instances we run separate boxes, there it becomes financially reasonable to host your own

kulminaator20:01:12

from the default settings of read replicas - you probably want to increase the time interval that the replicas allow queries to run, the default is something super low , like 30 or 60 seconds. if you use a read replica as a reporting database you probably will have queries that run for several minutes.