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 <amnoje...@gmail.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 <amnoje...@gmail.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. >> >> >>