Creating a database using ant

From: Nathan McEachen <nathan(at)mceachen(dot)us>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Creating a database using ant
Date: 2005-11-21 04:24:07
Message-ID: 43814BE7.1090507@mceachen.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

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

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Tjioe Ai Xin 2005-11-21 04:39:15 Re: Problem when upgrade PostgreSQL 7.3.3 to PostgreSQL 8.0.3
Previous Message Oliver Jowett 2005-11-21 00:24:37 Re: PreparedStatement.getParameterMetaData