Why Postgres?
Postgres offers the following:
- Fully open-source
- Cheap to use
- Reliable
- Secure
- Scalable
- Options to write functions and stored procedures in SQL, c and plgpsql
Why not MySQL, Oracle, Sybase, SQL Server, etc? The Postgres implementation on the target project is part of a larger DB architecture which includes elements of MongoDB and DynamoDB. It’s only fair that I use a tool that scales easily with AWS.
There are lots of resources on the internet that offer objective and some (tiny) skewed opinions on Postgres vs the competition. Since we are not interested in joining the arguments for or against, I would suggest that you pick what works for the project at hand.
In my case, I go for scalability, cost and flexibility.
Assumptions and Prerequisites
You have installed Docker Desktop
https://www.docker.com/products/docker-desktop
You have a Docker Hub account (optional, but cool)
It is also assumed that you have created a container from the official Postgres image on Docker Hub and created or made some changes to your DB. If you have not, run the command below to begin: