pg_start_backup question

Started by db deover 16 years ago5 messagesgeneral
Jump to latest
#1db de
dbdevelopment09@gmail.com

How to execute "SELECT pg_start_backup('label');" from java as a SQL
statement? I tries to use:
Statement.execute("SELECT pg_start_backup('label')")

But it does not work.

Thanks.

Jack

#2Guillaume Lelarge
guillaume@lelarge.info
In reply to: db de (#1)
Re: pg_start_backup question

Le vendredi 30 octobre 2009 à 23:41:54, db de a écrit :

How to execute "SELECT pg_start_backup('label');" from java as a SQL
statement? I tries to use:
Statement.execute("SELECT pg_start_backup('label')")

But it does not work.

You should have an error message in your PostgreSQL logs. Without this, I
don't think we can help you.

--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com

#3db de
dbdevelopment09@gmail.com
In reply to: Guillaume Lelarge (#2)
Re: pg_start_backup question

Below is what I did:
I opened a super user connection to creat a super user statement. Then use
the super user statement to execute "SELECT pg_start_backup('label')".

try
{
superuserCont = java.sql.DriverManager.getConnection(URL, su,
suPassword);
suStatement = superuserCont.createStatement();
boolean ret = suStatement.execute("SELECT
pg_start_backup('label')"); //LINE1
}
catch(SQLException e)
{
System.out.println("exception");

//LINE2
}
finally
{
System.out.println("ret:" +
ret);
//LINE3
}

After LINE1 is executed, LINE3 is run and the output is: ret:false. LINE2 is
not executed.

Thanks.

Jack

On Fri, Oct 30, 2009 at 4:06 PM, Guillaume Lelarge
<guillaume@lelarge.info>wrote:

Show quoted text

Le vendredi 30 octobre 2009 à 23:41:54, db de a écrit :

How to execute "SELECT pg_start_backup('label');" from java as a SQL
statement? I tries to use:
Statement.execute("SELECT pg_start_backup('label')")

But it does not work.

You should have an error message in your PostgreSQL logs. Without this, I
don't think we can help you.

--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com

#4Guillaume Lelarge
guillaume@lelarge.info
In reply to: db de (#3)
Re: pg_start_backup question

Le samedi 31 octobre 2009 à 00:39:54, db de a écrit :

Below is what I did:
I opened a super user connection to creat a super user statement. Then use
the super user statement to execute "SELECT pg_start_backup('label')".

try
{
superuserCont = java.sql.DriverManager.getConnection(URL, su,
suPassword);
suStatement = superuserCont.createStatement();
boolean ret = suStatement.execute("SELECT
pg_start_backup('label')"); //LINE1
}
catch(SQLException e)
{
System.out.println("exception");

//LINE2
}
finally
{
System.out.println("ret:" +
ret);
//LINE3
}

After LINE1 is executed, LINE3 is run and the output is: ret:false. LINE2
is not executed.

Which PostgreSQL release do you use? did you activate archive_mode? what's in
your archive_command?

--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com

#5Laurenz Albe
laurenz.albe@cybertec.at
In reply to: db de (#3)
Re: pg_start_backup question

db de wrote:

Below is what I did:
I opened a super user connection to creat a super user
statement. Then use the super user statement to execute
"SELECT pg_start_backup('label')".

try
{
superuserCont = java.sql.DriverManager.getConnection(URL, su, suPassword);
suStatement = superuserCont.createStatement();
boolean ret = suStatement.execute("SELECT pg_start_backup('label')");
//LINE1
}
catch(SQLException e)
{
System.out.println("exception");

//LINE2
}
finally
{
System.out.println("ret:" + ret);

//LINE3
}

After LINE1 is executed, LINE3 is run and the output is:
ret:false. LINE2 is not executed.

Maybe something else than an SQLException was thrown, and maybe
by some statement before the last in the try/catch block.

You should debug this.

Possible starting points:
- Change "catch (SQLException" to "catch (Throwable" and see if you
catch something.
- Execute it in a debugger or have status messages printed out after
every line. See which flow the execution takes.
- Set "log_statements='all'" in postgresql.conf on the database server
and see what you find in the log.
- See what you get when you issue that SQL statement with psql.

Yours,
Laurenz Albe