Database protocols used by relational databases like PostgreSQL and MySQL are criticized for their complexity and statefulness, which complicates connection management and error recovery. The author suggests adopting explicit initial configuration phases and implementing idempotency features, similar to those used in APIs like Stripe, to improve reliability and ease of use. The article also discusses the challenges of handling network errors and implementing safe retries in database clients.
database ✓
+ sql
protocols ✓
idempotency ✓
error-handling ✓