40003: statement_completion_unknown
PostgreSQLNe demek?
Transaction'ın sonucu belirsiz; sunucuyla bağlantı, transaction'ın tamamlanıp tamamlanmadığı belli olmadan (özellikle COMMIT sırasında) koptu. İstemci, değişikliklerin kalıcı olup olmadığını kesin bilemez. Class 40 (transaction_rollback) sınıfındadır.
Neden olur?
COMMIT komutu gönderildikten sonra yanıt gelmeden ağın kopması, sunucunun çökmesi veya failover yaşanması. Transaction sunucuda tamamlanmış da olabilir, geri alınmış da olabilir.
Nasıl çözülür?
İşlemi körlemesine tekrar denemeyin; önce gerçekten uygulanıp uygulanmadığını doğrulayın (ör. beklenen kaydın var olup olmadığını sorgulayarak). İşlemleri idempotent (tekrar edilebilir) tasarlayın; benzersiz iş anahtarları/idempotency key kullanın. Bağlantı havuzunda sağlam yeniden bağlanma ve doğrulama mantığı uygulayın.