Automating Postgres Deployments on AWS and VMWare, with Terraform and Ansible [Webinar]

Deploying Postgres on AWS and VMware shouldn’t be a clunky, manual task. In 2020 and beyond, automation and Postgres will go hand in hand.
Highly available, fault-tolerant PostgreSQL database cluster creation and monitoring can now be deployed in a matter of minutes using Terraform and Ansible scripts. In this webinar, you will learn how developers, devOps, and DBAs can automate cloud and on-premise Postgres deployment with the help of Terraform and Ansible.


We will cover:

  • Popular deployment options for Postgres
  • Postgres platform database and toolsets
  • Automating deployment of Postgres with high availability
  • Automating deployment of fault-tolerant Postgres cluster
  • Monitoring and managing Postgres at scale
  • Demo for Terraform Postgres deployment scripts


Webinar video:


Webinar slides:


Webinar Q&A:

  • Does this cluster have the cache fusion feature like Oracle?
    • No, we don’t have Cache fusion similar feature in Postgres.


  • Is a witness node no longer required in a cluster environment?  We have a Primary and a single Standby, with a Witness.
    • Cluster can have multiple standbys where one of the standby act as a witness to avoid any split-brain scenario.


  • Does PEM monitor how far back the standby is lagging behind the Primary? 
    • Yes, PEM can used to monitor replication. Please check here.


  • Would it be possible to build a Primary-Replica PEM server for high availability?
    • The scripts which are available on GitHub configure single PEM server but if PEM HA is what you are looking for you you can customise the scripts to add HA for PEM server.


  • For the init of a Postgres, but now do you maintain (manage user/roles/databases) your Postgres with ansible role and if so how do you do this?
    • We do not maintain or manage DB roles using Ansible. We just create a role for replication and for EFM operations. The password for roles we are asking the user to provide it.


  • In the presentation, PEM server uses HTTP, is it possible to deploy it with HTTPS?
    • Yes in the presentation I had not used SSL certificate on this server but you can configure it in your setup.


  • Can you share the deployment scripts?
    • The deployment scripts are available for anyone to clone/download from the EnterpriseDB GitHub page.


  • What are the commands for AWS and VMWare?
    • The Scripts are available for both the providers AWS and VMWare vsphere. Once the input parameters are populated for each step the user can fire the terraform init and terraform apply command. The detailed information is available on the GiitHub wiki page.


  • How did you determine the size of the AWS instances? 
    • We take the size of the AWS instance as user input in the file so you can start the Postgres cluster on an AWS  instance type of your choice.


  • Is it possible to have different PostgreSQL versions on the primary and server site? maybe for a short time, for upgrade purposes?
    • In general, log shipping between servers running different major PostgreSQL release levels is not possible. Running different minor release versions on primary and standby servers will work successfully. When updating to a new minor release, the safest policy is to update the standby servers first — a new minor release is more likely to be able to read WAL files from a previous minor release than vice versa.