PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как мога да вмъкна JSON обект в Postgres с помощта на Java readyStatement?

Това поведение е доста досадно, тъй като JSON низовете се приемат без проблеми, когато се използват като буквални низове в SQL команди.

Вече има проблем за това в хранилището на Github на драйвера на postgres (дори ако проблемът изглежда е в обработката от страна на сървъра).

Освен използването на cast (вижте отговора на@a_horse_with_no_name) в sql низа, авторът на проблема предлага две допълнителни решения:

  1. Използвайте параметър stringtype=unspecified в URL адреса/опции за JDBC връзка.

Това казва на PostgreSQL, че всички текстови или varchar параметри всъщност са от неизвестен тип, което му позволява да изведе типовете им по-свободно.

  1. Увийте параметъра в org.postgresql.util.PGobject :

 PGobject jsonObject = new PGobject();
 jsonObject.setType("json");
 jsonObject.setValue(yourJsonString);
 pstmt.setObject(11, jsonObject);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Еволюция на отказоустойчивостта в PostgreSQL

  2. Привилегии и сигурност на PostgreSQL - Заключване на публичната схема

  3. Мигриране на PostgreSQL бази данни от On-Prem към облака с помощта на AWS RDS

  4. Намерете стойности, които не съдържат числа в PostgreSQL

  5. Проблеми при импортиране на txt файл в postgres с помощта на php