How do PostgreSQL connection pooling and autoscaling work in a managed service?