Greg Vernon: Don't Do High Availability, Do Right Availability (PGConf.EU 2023)

Learn how to ensure the right availability for your Postgres instance, prioritizing data recovery and integrity, with Greg Vernon's expert advice on eliminating high availability misconceptions and setting realistic expectations.

Key takeaways
  • Set up Postgres with ACID properties and databases in a single instance, rather than trying to achieve high availability.
  • Consider the reason for running high availability, ensuring that it aligns with the organization’s needs and budget.
  • Verify your backups periodically, or automate the process for added reliability.
  • Use the right tools for your specific use case, such as PG backrest for catching up with log files.
  • Ensure that your management understands the concept of accuracy, retention, and availability, and set clear expectations for service level agreements (SLAs).
  • Make data recovery a top priority, ensuring that data is protected and can be recovered quickly.
  • Avoid over-engineering solutions, focusing on simplicity and efficiency instead.
  • Pay attention to the CAP theorem, considering the trade-offs between consistency, availability, and partition tolerance.
  • Educate clients, management, and stakeholders on the importance of data integrity and availability.
  • Prioritize data recovery and integrity over high availability in some cases.
  • Achieve five-nines availability by having the right technology and processes in place.
  • Consider hosting databases on virtual machines (VMs) for added flexibility and reliability.
  • Set up and regularly practice data recovery tests to ensure processes are correct.
  • Make sure you have enough resources, skill, and expertise to maintain a database and its associated infrastructure.
  • Consider the cost of achieving high availability and ensure that it aligns with the organization’s budget.
  • Set up an SLA with clear expectations for data availability and recovery.
  • Monitor your backups regularly and have a plan in place for data recovery.