PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

È un errore del motore SQL di PostgreSQL e come evitarlo (soluzione alternativa)?

La mia ulteriore indagine sul problema ha rivelato che il problema è correlato al puro SQL Postgres, ho sviluppato la versione pura di plpgsql che è un port one-to-one del codice sopra. La domanda riformulata per plpgsql puro è qui:Perché questo codice non riesce in PostgreSQL e come risolverlo (soluzione alternativa)? È un difetto del motore SQL di Postgres? .

Quindi - non è un problema relativo a Java/JDBC.

Inoltre, sono riuscito a semplificare il codice di test:ora utilizza una tabella. Il problema semplificato è stato pubblicato sulla mailing list pgsql-bugs:http:// archives.postgresql.org/pgsql-bugs/2010-01/msg00182.php . È confermato che si verifica su altre macchine (non solo la mia).

Ecco una soluzione alternativa:modificare le regole di confronto del database da polacco a "C" standard. Con le regole di confronto "C" non ci sono errori. Ma senza la raccolta polacca le parole polacche sono ordinate in modo errato (rispetto ai caratteri nazionali polacchi), quindi il problema dovrebbe essere risolto in Postgres stesso.