Довольно недавно наткнулся на интересную особенность работы .NET провайдера для Postgres. Возникает эта особенность причём только при выполнении запросов через провайдер, при выполнении аналогичных запросов к базе из командной строки либо через менеджер такого не происходит.
Итак в чём суть:
Предположим нам необходимо найти значение поля NAME где поле ID равно 1. В случае если такое значение существует, то всё хорошо. Если нет — то .NET провайдер создаёт ошибку, вместо того чтобы вернуть Null. Разумеется при довольно большом количестве обращений и таких ошибок — сервер рано или поздно отключает клиента.
(
Читать дальше
)