<story><title>A PostgreSQL Docker container that automatically upgrades your  database</title><url>https://github.com/justinclift/docker-pgautoupgrade</url></story><parent_chain><item><author>ekidd</author><text>RDS is very useful for companies which are big enough to employ, say, 2 programmers, but still too small to employ a DBA.&lt;p&gt;The hard part of running a database, in my experience, isn&amp;#x27;t setting up or running it. The hard part isn&amp;#x27;t even configuring backups.&lt;p&gt;The hard part is noticing that your backups have been broken for years, &lt;i&gt;before&lt;/i&gt; you actually need to restore from them. Yes, yes, you know how to do this correctly. But you delegated it to the sysadmin, the sysadmin subtly broke the backup scripts, the scripts have been silently doing nothing for 18 months, and then the sysadmin got a new job.&lt;p&gt;This is the main value proposition of RDS: Your data will be backed up, your backups will be restorable, and most of your normal admin tasks can be performed by pushing a button.</text></item><item><author>neilv</author><text>&amp;gt; &lt;i&gt;It&amp;#x27;s whole purpose in life is to automatically detect the version of PostgreSQL used in the existing PostgreSQL data directory, and automatically upgrade it (if needed) to the latest version of PostgreSQL.&lt;/i&gt;&lt;p&gt;In a small startup...&lt;p&gt;* If the data is mission-critical and constantly changing, PostgreSQL is a rare infra thing for which I&amp;#x27;d use a managed service like AWS RDS, rather just Debian Stable EC2 or my own containers.  The first time I used RDS, the company couldn&amp;#x27;t afford to lose an hour of data (could destroy confidence in enterprise customer&amp;#x27;s pilot project), and without RDS, I didn&amp;#x27;t have time&amp;#x2F;resources to be nine-9s confident that we could do PITR if we ever needed to.&lt;p&gt;* If the data is less-critical or permits easy sufficient backups, and I don&amp;#x27;t mind a 0-2 year-old stable version of PG, I&amp;#x27;d probably just use whatever PG version Debian Stable has locked in.  And just hold my breath during Debian security updates to that version.&lt;p&gt;(Although I think I saw AWS has a cheaper entry level of pricing for RDS now, which I&amp;#x27;ll have to look into next time I have a concrete need.  AWS pricing varies from no-brainers to lunacy, depending on specifics, and specifics can be tweaked with costs in mind.)</text></item></parent_chain><comment><author>neilv</author><text>Exactly, on the backups.  There was off-the-shelf open source PITR software that I looked at and could&amp;#x27;ve configured, but I couldn&amp;#x27;t justify spending all the time to test that setup, given that (supposedly) RDS was rock-solid turn-key.  There were other engineering and ops things that needed my time more.</text></comment>
<story><title>A PostgreSQL Docker container that automatically upgrades your  database</title><url>https://github.com/justinclift/docker-pgautoupgrade</url></story><parent_chain><item><author>ekidd</author><text>RDS is very useful for companies which are big enough to employ, say, 2 programmers, but still too small to employ a DBA.&lt;p&gt;The hard part of running a database, in my experience, isn&amp;#x27;t setting up or running it. The hard part isn&amp;#x27;t even configuring backups.&lt;p&gt;The hard part is noticing that your backups have been broken for years, &lt;i&gt;before&lt;/i&gt; you actually need to restore from them. Yes, yes, you know how to do this correctly. But you delegated it to the sysadmin, the sysadmin subtly broke the backup scripts, the scripts have been silently doing nothing for 18 months, and then the sysadmin got a new job.&lt;p&gt;This is the main value proposition of RDS: Your data will be backed up, your backups will be restorable, and most of your normal admin tasks can be performed by pushing a button.</text></item><item><author>neilv</author><text>&amp;gt; &lt;i&gt;It&amp;#x27;s whole purpose in life is to automatically detect the version of PostgreSQL used in the existing PostgreSQL data directory, and automatically upgrade it (if needed) to the latest version of PostgreSQL.&lt;/i&gt;&lt;p&gt;In a small startup...&lt;p&gt;* If the data is mission-critical and constantly changing, PostgreSQL is a rare infra thing for which I&amp;#x27;d use a managed service like AWS RDS, rather just Debian Stable EC2 or my own containers.  The first time I used RDS, the company couldn&amp;#x27;t afford to lose an hour of data (could destroy confidence in enterprise customer&amp;#x27;s pilot project), and without RDS, I didn&amp;#x27;t have time&amp;#x2F;resources to be nine-9s confident that we could do PITR if we ever needed to.&lt;p&gt;* If the data is less-critical or permits easy sufficient backups, and I don&amp;#x27;t mind a 0-2 year-old stable version of PG, I&amp;#x27;d probably just use whatever PG version Debian Stable has locked in.  And just hold my breath during Debian security updates to that version.&lt;p&gt;(Although I think I saw AWS has a cheaper entry level of pricing for RDS now, which I&amp;#x27;ll have to look into next time I have a concrete need.  AWS pricing varies from no-brainers to lunacy, depending on specifics, and specifics can be tweaked with costs in mind.)</text></item></parent_chain><comment><author>KingOfCoders</author><text>In my startup (until our exit) I&amp;#x27;ve run Postgres on my own, with streaming backups, daily backup tests (automatic restores and checks), offsite backups and (slow) upgrades.&lt;p&gt;Data wasn&amp;#x27;t mission critical and customers could live with 5min downtimes for upgrades once a year.&lt;p&gt;No problem for years. When we had hosted Mongo, we had more problems.&lt;p&gt;If I have the money I&amp;#x27;ll use a managed database. But running Postgres in a startup up to $10m ARR &amp;#x2F; ~1TB data seems not like a problem.</text></comment>