Thread: Loading a dump containing include commands

Loading a dump containing include commands

From
"Georg M. Sorst"
Date:
Hey list!

Is there a way to load a dump with include statements (\i something.sql)
with the Postgres JDBC driver? Both PGCopyOutputStream and the regular
Statement seem to choke on \i.

I am using postgresql-8.4-701.jdbc4.jar, the current Maven version.

Thanks and best regards,
Georg

--
Georg M. Sorst
http://vergiss-blackjack.de

Re: Loading a dump containing include commands

From
Craig Ringer
Date:
On 29/09/2010 5:16 PM, Georg M. Sorst wrote:
> Hey list!
>
> Is there a way to load a dump with include statements (\i something.sql)
> with the Postgres JDBC driver? Both PGCopyOutputStream and the regular
> Statement seem to choke on \i.

No. \i is a psql-specific instruction. It's not part of the PostgreSQL
dialect or protocol, it's a utility command in the "psql" interactive
sql command processor.

You could probably pre-process the input stream to insert includes
pretty easily, though. Doing it properly and cleanly would require your
code to be properly aware of quoted blocks, including dollar-quoted
blocks, but in practice you can probably get away with looking for a
line-ending followed by a run of zero or more whitespace chars before \i .

--
Craig Ringer

Tech-related writing at http://soapyfrogs.blogspot.com/