22P02: invalid_text_representation
PostgreSQLNe demek?
Bir metin değeri, hedef veri tipine dönüştürülürken geçerli bir gösterim değildi. Örneğin 'abc' metnini integer'a çevirmeye çalışmak bu hatayı üretir.
Neden olur?
Sayısal bir sütuna/parametreye sayı olmayan metin gönderilmesi; boş dize ('') değerinin sayı/tarih olarak dönüştürülmesi; UUID ya da enum için geçersiz metin; yanlış biçimli JSON; giriş verisinin beklenen formatta olmaması.
Nasıl çözülür?
Dönüştürülen değerin gerçekten geçerli olduğunu doğrulayın. Uygulamada tip dönüşümünden önce giriş doğrulaması yapın. Boş dizeleri NULL'a çevirin: NULLIF(deger, ''). Güvenli dönüşüm için PostgreSQL 16+ sürümünde pg_input_is_valid('abc', 'integer') ile değeri önceden sınayın, hata ayrıntısı için pg_input_error_info() kullanın; eski sürümlerde bir doğrulama sorgusu (regex) değerlendirin. Hangi satırın bozuk olduğunu daraltarak bulun.