Home > Archive > PostgreSQL JDBC > November 2005 > Creating a database using ant









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Creating a database using ant
Nathan McEachen

2005-11-21, 3:23 am

Hello,

I am trying to write get ant to drop and create a database. I tried to
use the sql task but recieved the following error:

java.sql.SQLException: ERROR: DROP DATABASE cannot run inside a
transaction block

Here is my ant task:

<sql driver="${db.postgresql.driver}"
userid="${rootuser}"
password="${rootpassword}"
url="${db.postgresql.url}"
onerror="stop"
autocommit="false"
src="${db.postgresql.sqlScripts.dir}/dropDatabase.sql">
<classpath>
<path refid="run.classpath"/>
</classpath>
</sql>

Although autocommit is false, it looks like the sql script is still
executing within a transaction. Does anyone know a workaround?

I also tried runing the dropdb command directly, but (from my
understanding) ant cannot receive user input during execution. As a
result, I can't supply a password to dropdb (at least I don't know how
to do it).

<exec executable="${postgres_bin.dir}/dropdb"
failonerror="true">
<arg value="-U"/>
<arg value="${rootuser}"/>
<arg value="--password"/>
<arg value="mydb"/>
</exec>

Many thanks,

-Nathan

--
In theory, there is no difference between theory and practice. But, in practice, there is.

--Jan L.A. van de Snepscheut



---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql
.org so that your
message can get through to the mailing list cleanly

Oliver Jowett

2005-11-21, 3:23 am

Nathan McEachen wrote:

> java.sql.SQLException: ERROR: DROP DATABASE cannot run inside a
> transaction block


> autocommit="false"


Try with autocommit="true".

-O

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

http://archives.postgresql.org

Jan de Visser

2005-11-21, 3:23 am

On Sunday 20 November 2005 23:24, Nathan McEachen wrote:
> Although autocommit is false, it looks like the sql script is still
> executing within a transaction. _Does anyone know a workaround?


You got it the wrong way around. autocommit=false gets you a transaction, i.e.
statements are *not* automatically committed when you have that set. You want
autocommit=true. I've done it (creating databases in ant) and it works...

JdV!!

--
--------------------------------------------------------------
Jan de Visser _ _ _ _ _ _ _ _ _ _ jdevisser@digitalfai
rway.com

_ _ _ _ _ _ _ _ Baruk Khazad! Khazad ai-menu!
--------------------------------------------------------------

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

http://archives.postgresql.org

Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com