JDBC + PG-15 but not psql

Поиск
Список
Период
Сортировка
От Amn Ojee Uw
Тема JDBC + PG-15 but not psql
Дата
Msg-id d26a0727-3595-c25b-a6e5-4401d672d93b@gmail.com
обсуждение исходный текст
Ответы Re: JDBC + PG-15 but not psql
Список pgsql-general

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.


В списке pgsql-general по дате отправления:

Предыдущее
От: Kristjan Mustkivi
Дата:
Сообщение: Logical Streaming Replication stuck at specific LSN
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: Why doesn't autovacuum/analyze run in due time after calling pg_stat_reset?