Как обрабатывать ошибки pgx?

Middle
346 просмотров
AFK Offer AI

pgx возвращает стандартные Go errors, которые проверяешь через errors.Is и errors.As. Основные: pgx.ErrNoRows — запрос не вернул строк (частая ошибка — забыл проверить). Для PostgreSQL-специфичных ошибок: var pgErr *pgconn.PgError; errors.As(err, &pgErr) — получаешь Code (23505 = unique violation, 23503 = foreign key). Не сравнивай строки ошибок — используй коды. Таймаут пула: если все соединения заняты и прошёл таймаут, получишь ошибку acquiring connection.

Следующий вопрос

Как делать smoke test?