Re: JDBC + PG-15 but not psql

From: Dave Cramer <davecramer(at)postgres(dot)rocks>
To: Amn Ojee Uw <amnojeeuw(at)gmail(dot)com>
Cc: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: JDBC + PG-15 but not psql
Date: 2023-08-22 12:31:00
Message-ID: CADK3HH+aG2Hac-4cMsN6Jpo+T7BkfR6AOt6mp0Brn594QJyFDQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Amn,

What I don't understand is the requirement to set autocommit to true since
this is the default ?

Either way this is expected behaviour as psql also has autocommit true by
default.

Thanks,

Dave Cramer

On Mon, 21 Aug 2023 at 20:57, Amn Ojee Uw <amnojeeuw(at)gmail(dot)com> wrote:

> Thanks Dave for your interest.
>
> In the OP I started by explaining the difficulties when trying to create
> a tabelspace using JDBC; please note that when using the PG-15 prompt I did
> not have the problem. Well, it turns out that while developing the request
> for help (writing the email), I realize that my code had the following line
> :
> *this.conn.setAutoCommit(false);*
> However, in my research, I had read a post mentioning that by setting *auto
> commit* to *true* the issue was solved. So, I changed that line of code
> in my algorithm to :
> *this.conn.setAutoCommit(true);*
> Which also resulted in my app working without any errors.
>
> Please read the code-snip I submitted; there you can see that line of code
> I edited; which I commented with "*//** game changer!!".*
>
> Thanks again Dave, have great week.
>
>
> On 8/21/23 2:51 p.m., Dave Cramer wrote:
>
> Hi Amn,
>
> Can you help me understand this issue better?
>
> I don't see anywhere in the code where you are attempting to create a
> tablespace ?
>
>
> Dave Cramer
>
>
>
> On Sun, 20 Aug 2023 at 11:17, Amn Ojee Uw <amnojeeuw(at)gmail(dot)com> wrote:
>
>> Hello.
>>
>> I have searched the net in an attempt to find if others have had and
>> resolved this challenge, but most of the sites talk about how, when using
>> the psql, this error arises. In my case, the error arises only when access
>> PG-15 using JDBC.
>> JDBC connects to the database, but when trying to execute a schema, it be
>> to create a database or to create a tabelspace I get this error :
>>
>> *StackTrace : [Ljava.lang.StackTraceElement;@7a69b07*
>> *Message : ERROR: CREATE TABLESPACE cannot run inside a transaction block*
>>
>> I have used the same algorithm, but now modify to accommodate PG-15, when
>> using SQLite. So the JDBC code might not be the problem, but the
>> requirements needed from PG-15.
>>
>> Change of perspective, I resolved the concern!
>>
>> Here is what changed the outcome :
>> --- snip ---
>>
>> public void connectToDatabase() throws ClassNotFoundException,
>> SQLException {
>> try {
>> Class.forName(this.getDatabaseClass().toString());
>> this.conn =
>> DriverManager.getConnection(this.getDatabaseUrl().toString(),
>> this.getUserID().toString(),
>> this.getUserPassword().toString());
>>
>> *this.conn.setAutoCommit(true);** //** game changer!!*
>>
>>
>> this.pout("Connected to the PostgreSQL server, success!!!");
>>
>> this.stmt = this.conn.createStatement();
>> } catch (final SQLException | ClassNotFoundException e) {
>> throw e;
>> }
>> }
>>
>> --
>>
>> All I had to do was to setAutoCommit to true, PG-15 set this value to
>> false by default.
>>
>>
>> I hope my experience can help others.
>>
>>
>>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Florents Tselai 2023-08-22 14:21:55 Released vasco: a PG extension to compute MIC and MINE correlation statistics
Previous Message Dave Cramer 2023-08-22 09:03:53 Re: The same prepared query yield "-1" the first six times and then "-1.0"