Re: Return Codes of BatchUpdateException in PostgreSql 9.6 - Mailing list pgsql-jdbc

From Tillmann Schulz
Subject Re: Return Codes of BatchUpdateException in PostgreSql 9.6
Date
Msg-id 1517187645.2142262.1476688427923@mail.yahoo.com
Whole thread Raw
In response to Return Codes of BatchUpdateException in PostgreSql 9.6  (Tillmann Schulz <tillmann73@yahoo.de>)
List pgsql-jdbc
Hello,

here are the logs with postgres 9.50./9.6.0 and postgresql-jdbc41-9.4-1201.jar


Bye

Tillmann




=========================================================================================================================================
Postgres 9.5.0 / postgresql-jdbc41-9.4-1201.jar

=========================================================================================================================================

DriverManager.getConnection("jdbc:postgresql://localhost:9432/xxxx5?charSet=UTF-8&user=xxxx&password=xxxx&logLevel=2&loglevel=2")
trying org.postgresql.Driver
09:04:59.269 (1) PostgreSQL 9.4 JDBC4.1 (build 1201)
09:04:59.284 (1) Trying to establish a protocol version 3 connection to localhost:9432
09:04:59.318 (1) Receive Buffer Size is 8192
09:04:59.319 (1) Send Buffer Size is 8192
09:04:59.321 (1)  FE=> StartupPacket(user=xxxx, database=xxxx5, client_encoding=UTF8, DateStyle=ISO,
TimeZone=Europe/Berlin,extra_float_digits=2) 
09:04:59.389 (1)  <=BE AuthenticationReqMD5(salt=d5b8ec19)
09:04:59.395 (1)  FE=> Password(md5digest=md5d64a93fa4940047d56e0be735eaba6ec)
09:04:59.401 (1)  <=BE AuthenticationOk
09:04:59.412 (1)  <=BE ParameterStatus(application_name = )
09:04:59.412 (1)  <=BE ParameterStatus(client_encoding = UTF8)
09:04:59.412 (1)  <=BE ParameterStatus(DateStyle = ISO, DMY)
09:04:59.412 (1)  <=BE ParameterStatus(integer_datetimes = on)
09:04:59.412 (1)  <=BE ParameterStatus(IntervalStyle = postgres)
09:04:59.412 (1)  <=BE ParameterStatus(is_superuser = on)
09:04:59.412 (1)  <=BE ParameterStatus(server_encoding = UTF8)
09:04:59.412 (1)  <=BE ParameterStatus(server_version = 9.5.0)
09:04:59.412 (1)  <=BE ParameterStatus(session_authorization = xxxx)
09:04:59.412 (1)  <=BE ParameterStatus(standard_conforming_strings = on)
09:04:59.412 (1)  <=BE ParameterStatus(TimeZone = Europe/Berlin)
09:04:59.412 (1)  <=BE BackendKeyData(pid=10084,ckey=314920069)
09:04:59.412 (1)  <=BE ReadyForQuery(I)
09:04:59.414 (1) simple execute, handler=org.postgresql.core.SetupQueryRunner$SimpleResultHandler@123a439b, maxRows=0,
fetchSize=0,flags=23 
09:04:59.414 (1)  FE=> Parse(stmt=null,query="SET extra_float_digits = 3",oids={})
09:04:59.414 (1)  FE=> Bind(stmt=null,portal=null)
09:04:59.414 (1)  FE=> Execute(portal=null,limit=1)
09:04:59.414 (1)  FE=> Sync
09:04:59.424 (1)  <=BE ParseComplete [null]
09:04:59.424 (1)  <=BE BindComplete [null]
09:04:59.424 (1)  <=BE CommandStatus(SET)
09:04:59.424 (1)  <=BE ReadyForQuery(I)
09:04:59.425 (1)     compatible = 90400
09:04:59.425 (1)     loglevel = 2
09:04:59.425 (1)     prepare threshold = 5
09:04:59.427 (1)     types using binary send =
TIMESTAMPTZ,UUID,INT2_ARRAY,INT4_ARRAY,BYTEA,TEXT_ARRAY,TIMETZ,INT8,INT2,INT4,VARCHAR_ARRAY,INT8_ARRAY,POINT,TIMESTAMP,TIME,BOX,FLOAT4,FLOAT8,FLOAT4_ARRAY,FLOAT8_ARRAY
09:04:59.427 (1)     types using binary receive =
TIMESTAMPTZ,UUID,INT2_ARRAY,INT4_ARRAY,BYTEA,TEXT_ARRAY,TIMETZ,INT8,INT2,INT4,VARCHAR_ARRAY,INT8_ARRAY,POINT,DATE,TIMESTAMP,TIME,BOX,FLOAT4,FLOAT8,FLOAT4_ARRAY,FLOAT8_ARRAY
09:04:59.427 (1)     integer date/time = true
getConnection returning org.postgresql.Driver
09:04:59.442 (1) batch execute 10 queries,
handler=org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler@311d617d,maxRows=0, fetchSize=0, flags=5 
09:04:59.442 (1)  FE=> Parse(stmt=null,query="BEGIN",oids={})
09:04:59.442 (1)  FE=> Bind(stmt=null,portal=null)
09:04:59.442 (1)  FE=> Execute(portal=null,limit=0)
09:04:59.442 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('0')",oids={})
09:04:59.442 (1)  FE=> Bind(stmt=null,portal=null)
09:04:59.442 (1)  FE=> Describe(portal=null)
09:04:59.442 (1)  FE=> Execute(portal=null,limit=1)
09:04:59.442 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('1')",oids={})
09:04:59.443 (1)  FE=> Bind(stmt=null,portal=null)
09:04:59.443 (1)  FE=> Describe(portal=null)
09:04:59.443 (1)  FE=> Execute(portal=null,limit=1)
09:04:59.443 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('2')",oids={})
09:04:59.443 (1)  FE=> Bind(stmt=null,portal=null)
09:04:59.443 (1)  FE=> Describe(portal=null)
09:04:59.443 (1)  FE=> Execute(portal=null,limit=1)
09:04:59.443 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('3')",oids={})
09:04:59.443 (1)  FE=> Bind(stmt=null,portal=null)
09:04:59.443 (1)  FE=> Describe(portal=null)
09:04:59.443 (1)  FE=> Execute(portal=null,limit=1)
09:04:59.443 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('4')",oids={})
09:04:59.443 (1)  FE=> Bind(stmt=null,portal=null)
09:04:59.443 (1)  FE=> Describe(portal=null)
09:04:59.443 (1)  FE=> Execute(portal=null,limit=1)
09:04:59.443 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('5')",oids={})
09:04:59.443 (1)  FE=> Bind(stmt=null,portal=null)
09:04:59.443 (1)  FE=> Describe(portal=null)
09:04:59.443 (1)  FE=> Execute(portal=null,limit=1)
09:04:59.443 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('6')",oids={})
09:04:59.443 (1)  FE=> Bind(stmt=null,portal=null)
09:04:59.443 (1)  FE=> Describe(portal=null)
09:04:59.443 (1)  FE=> Execute(portal=null,limit=1)
09:04:59.444 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('7')",oids={})
09:04:59.444 (1)  FE=> Bind(stmt=null,portal=null)
09:04:59.444 (1)  FE=> Describe(portal=null)
09:04:59.444 (1)  FE=> Execute(portal=null,limit=1)
09:04:59.444 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('8')",oids={})
09:04:59.444 (1)  FE=> Bind(stmt=null,portal=null)
09:04:59.444 (1)  FE=> Describe(portal=null)
09:04:59.444 (1)  FE=> Execute(portal=null,limit=1)
09:04:59.444 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('9')",oids={})
09:04:59.444 (1)  FE=> Bind(stmt=null,portal=null)
09:04:59.444 (1)  FE=> Describe(portal=null)
09:04:59.444 (1)  FE=> Execute(portal=null,limit=1)
09:04:59.444 (1)  FE=> Sync
09:04:59.479 (1)  <=BE ParseComplete [null]
09:04:59.479 (1)  <=BE BindComplete [null]
09:04:59.479 (1)  <=BE CommandStatus(BEGIN)
09:04:59.479 (1)  <=BE ParseComplete [null]
09:04:59.479 (1)  <=BE BindComplete [null]
09:04:59.479 (1)  <=BE NoData
09:04:59.479 (1)  <=BE CommandStatus(INSERT 0 1)
09:04:59.479 (1)  <=BE ParseComplete [null]
09:04:59.479 (1)  <=BE BindComplete [null]
09:04:59.479 (1)  <=BE NoData
09:04:59.479 (1)  <=BE CommandStatus(INSERT 0 1)
09:04:59.479 (1)  <=BE ParseComplete [null]
09:04:59.479 (1)  <=BE BindComplete [null]
09:04:59.479 (1)  <=BE NoData
09:04:59.479 (1)  <=BE CommandStatus(INSERT 0 1)
09:04:59.479 (1)  <=BE ParseComplete [null]
09:04:59.479 (1)  <=BE BindComplete [null]
09:04:59.479 (1)  <=BE NoData
09:04:59.479 (1)  <=BE CommandStatus(INSERT 0 1)
09:04:59.479 (1)  <=BE ParseComplete [null]
09:04:59.479 (1)  <=BE BindComplete [null]
09:04:59.480 (1)  <=BE NoData
09:04:59.480 (1)  <=BE CommandStatus(INSERT 0 1)
09:04:59.480 (1)  <=BE ParseComplete [null]
09:04:59.480 (1)  <=BE BindComplete [null]
09:04:59.480 (1)  <=BE NoData
09:04:59.487 (1)  <=BE ErrorMessage(FEHLER: doppelter Schlüsselwert verletzt Unique-Constraint „testtable_pkey“
Detail: Schlüssel „(id)=(5)“ existiert bereits.)
org.postgresql.util.PSQLException: FEHLER: doppelter Schlüsselwert verletzt Unique-Constraint „testtable_pkey“
Detail: Schlüssel „(id)=(5)“ existiert bereits.
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2270)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1998)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:421)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2929)
at com.xxxx.generator.TestDataGenerator.generateRecipients(TestDataGenerator.java:31)
at com.xxxx.generator.TestReturnCodes.main(TestReturnCodes.java:66)
SQLException: SQLState(23505)
SQLState(23505) vendor code(0)

=========================================================================================================================================
Postgres 9.6.0 / postgresql-jdbc41-9.4-1201.jar

=========================================================================================================================================

DriverManager.getConnection("jdbc:postgresql://localhost:10433/xxxx5?charSet=UTF-8&user=xxxx&password=xxxx&logLevel=2&loglevel=2")
trying org.postgresql.Driver
09:06:57.267 (1) PostgreSQL 9.4 JDBC4.1 (build 1201)
09:06:57.272 (1) Trying to establish a protocol version 3 connection to localhost:10433
09:06:57.284 (1) Receive Buffer Size is 8192
09:06:57.284 (1) Send Buffer Size is 8192
09:06:57.285 (1)  FE=> StartupPacket(user=xxxx, database=xxxx5, client_encoding=UTF8, DateStyle=ISO,
TimeZone=Europe/Berlin,extra_float_digits=2) 
09:06:57.343 (1)  <=BE AuthenticationReqMD5(salt=6ec50370)
09:06:57.352 (1)  FE=> Password(md5digest=md5436a132216c8872a44464ed12bfef57f)
09:06:57.361 (1)  <=BE AuthenticationOk
09:06:57.371 (1)  <=BE ParameterStatus(application_name = )
09:06:57.371 (1)  <=BE ParameterStatus(client_encoding = UTF8)
09:06:57.371 (1)  <=BE ParameterStatus(DateStyle = ISO, DMY)
09:06:57.371 (1)  <=BE ParameterStatus(integer_datetimes = on)
09:06:57.371 (1)  <=BE ParameterStatus(IntervalStyle = postgres)
09:06:57.371 (1)  <=BE ParameterStatus(is_superuser = on)
09:06:57.371 (1)  <=BE ParameterStatus(server_encoding = UTF8)
09:06:57.371 (1)  <=BE ParameterStatus(server_version = 9.6.0)
09:06:57.371 (1)  <=BE ParameterStatus(session_authorization = xxxx)
09:06:57.372 (1)  <=BE ParameterStatus(standard_conforming_strings = on)
09:06:57.372 (1)  <=BE ParameterStatus(TimeZone = Europe/Berlin)
09:06:57.372 (1)  <=BE BackendKeyData(pid=1420,ckey=46619645)
09:06:57.372 (1)  <=BE ReadyForQuery(I)
09:06:57.374 (1) simple execute, handler=org.postgresql.core.SetupQueryRunner$SimpleResultHandler@123a439b, maxRows=0,
fetchSize=0,flags=23 
09:06:57.375 (1)  FE=> Parse(stmt=null,query="SET extra_float_digits = 3",oids={})
09:06:57.375 (1)  FE=> Bind(stmt=null,portal=null)
09:06:57.375 (1)  FE=> Execute(portal=null,limit=1)
09:06:57.375 (1)  FE=> Sync
09:06:57.380 (1)  <=BE ParseComplete [null]
09:06:57.380 (1)  <=BE BindComplete [null]
09:06:57.380 (1)  <=BE CommandStatus(SET)
09:06:57.380 (1)  <=BE ReadyForQuery(I)
09:06:57.381 (1)     compatible = 90400
09:06:57.381 (1)     loglevel = 2
09:06:57.381 (1)     prepare threshold = 5
09:06:57.386 (1)     types using binary send =
TIMESTAMPTZ,UUID,INT2_ARRAY,INT4_ARRAY,BYTEA,TEXT_ARRAY,TIMETZ,INT8,INT2,INT4,VARCHAR_ARRAY,INT8_ARRAY,POINT,TIMESTAMP,TIME,BOX,FLOAT4,FLOAT8,FLOAT4_ARRAY,FLOAT8_ARRAY
09:06:57.387 (1)     types using binary receive =
TIMESTAMPTZ,UUID,INT2_ARRAY,INT4_ARRAY,BYTEA,TEXT_ARRAY,TIMETZ,INT8,INT2,INT4,VARCHAR_ARRAY,INT8_ARRAY,POINT,DATE,TIMESTAMP,TIME,BOX,FLOAT4,FLOAT8,FLOAT4_ARRAY,FLOAT8_ARRAY
09:06:57.387 (1)     integer date/time = true
getConnection returning org.postgresql.Driver
09:06:57.406 (1) batch execute 10 queries,
handler=org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler@311d617d,maxRows=0, fetchSize=0, flags=5 
09:06:57.406 (1)  FE=> Parse(stmt=null,query="BEGIN",oids={})
09:06:57.406 (1)  FE=> Bind(stmt=null,portal=null)
09:06:57.406 (1)  FE=> Execute(portal=null,limit=0)
09:06:57.407 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('0')",oids={})
09:06:57.407 (1)  FE=> Bind(stmt=null,portal=null)
09:06:57.407 (1)  FE=> Describe(portal=null)
09:06:57.407 (1)  FE=> Execute(portal=null,limit=1)
09:06:57.407 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('1')",oids={})
09:06:57.407 (1)  FE=> Bind(stmt=null,portal=null)
09:06:57.407 (1)  FE=> Describe(portal=null)
09:06:57.407 (1)  FE=> Execute(portal=null,limit=1)
09:06:57.407 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('2')",oids={})
09:06:57.407 (1)  FE=> Bind(stmt=null,portal=null)
09:06:57.407 (1)  FE=> Describe(portal=null)
09:06:57.407 (1)  FE=> Execute(portal=null,limit=1)
09:06:57.407 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('3')",oids={})
09:06:57.407 (1)  FE=> Bind(stmt=null,portal=null)
09:06:57.407 (1)  FE=> Describe(portal=null)
09:06:57.407 (1)  FE=> Execute(portal=null,limit=1)
09:06:57.407 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('4')",oids={})
09:06:57.407 (1)  FE=> Bind(stmt=null,portal=null)
09:06:57.407 (1)  FE=> Describe(portal=null)
09:06:57.407 (1)  FE=> Execute(portal=null,limit=1)
09:06:57.407 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('5')",oids={})
09:06:57.407 (1)  FE=> Bind(stmt=null,portal=null)
09:06:57.407 (1)  FE=> Describe(portal=null)
09:06:57.408 (1)  FE=> Execute(portal=null,limit=1)
09:06:57.408 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('6')",oids={})
09:06:57.408 (1)  FE=> Bind(stmt=null,portal=null)
09:06:57.408 (1)  FE=> Describe(portal=null)
09:06:57.408 (1)  FE=> Execute(portal=null,limit=1)
09:06:57.408 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('7')",oids={})
09:06:57.408 (1)  FE=> Bind(stmt=null,portal=null)
09:06:57.408 (1)  FE=> Describe(portal=null)
09:06:57.408 (1)  FE=> Execute(portal=null,limit=1)
09:06:57.408 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('8')",oids={})
09:06:57.408 (1)  FE=> Bind(stmt=null,portal=null)
09:06:57.408 (1)  FE=> Describe(portal=null)
09:06:57.408 (1)  FE=> Execute(portal=null,limit=1)
09:06:57.408 (1)  FE=> Parse(stmt=null,query="INSERT INTO TESTTABLE VALUES('9')",oids={})
09:06:57.408 (1)  FE=> Bind(stmt=null,portal=null)
09:06:57.408 (1)  FE=> Describe(portal=null)
09:06:57.408 (1)  FE=> Execute(portal=null,limit=1)
09:06:57.408 (1)  FE=> Sync
09:06:57.454 (1)  <=BE ParseComplete [null]
09:06:57.454 (1)  <=BE BindComplete [null]
09:06:57.454 (1)  <=BE CommandStatus(BEGIN)
09:06:57.454 (1)  <=BE ParseComplete [null]
09:06:57.454 (1)  <=BE BindComplete [null]
09:06:57.454 (1)  <=BE NoData
09:06:57.454 (1)  <=BE CommandStatus(INSERT 0 1)
09:06:57.454 (1)  <=BE ParseComplete [null]
09:06:57.454 (1)  <=BE BindComplete [null]
09:06:57.454 (1)  <=BE NoData
09:06:57.454 (1)  <=BE CommandStatus(INSERT 0 1)
09:06:57.455 (1)  <=BE ParseComplete [null]
09:06:57.455 (1)  <=BE BindComplete [null]
09:06:57.455 (1)  <=BE NoData
09:06:57.455 (1)  <=BE CommandStatus(INSERT 0 1)
09:06:57.455 (1)  <=BE ParseComplete [null]
09:06:57.455 (1)  <=BE BindComplete [null]
09:06:57.455 (1)  <=BE NoData
09:06:57.455 (1)  <=BE CommandStatus(INSERT 0 1)
09:06:57.455 (1)  <=BE ParseComplete [null]
09:06:57.455 (1)  <=BE BindComplete [null]
09:06:57.455 (1)  <=BE NoData
09:06:57.455 (1)  <=BE CommandStatus(INSERT 0 1)
09:06:57.455 (1)  <=BE ParseComplete [null]
09:06:57.455 (1)  <=BE BindComplete [null]
09:06:57.455 (1)  <=BE NoData
09:06:57.466 (1)  <=BE ErrorMessage(FEHLER: doppelter Schlüsselwert verletzt Unique-Constraint »testtable_pkey«
Detail: Schlüssel »(id)=(5)« existiert bereits.)
org.postgresql.util.PSQLException: FEHLER: doppelter Schlüsselwert verletzt Unique-Constraint »testtable_pkey«
Detail: Schlüssel »(id)=(5)« existiert bereits.
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2270)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1998)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:421)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2929)
at com.xxxx.generator.TestDataGenerator.generateRecipients(TestDataGenerator.java:31)
at com.xxxx.generator.TestReturnCodes.main(TestReturnCodes.java:66)
SQLException: SQLState(23505)
SQLState(23505) vendor code(0)


pgsql-jdbc by date:

Previous
From: Tillmann Schulz
Date:
Subject: Re: Return Codes of BatchUpdateException in PostgreSql 9.6
Next
From: Tillmann Schulz
Date:
Subject: Re: Return Codes of BatchUpdateException in PostgreSql 9.6