From: | "Leif B(dot) Kristensen" <leif(at)solumslekt(dot)org> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Loading a list of SQL scripts with relative paths |
Date: | 2005-05-10 18:58:37 |
Message-ID: | 200505102058.37501.leif@solumslekt.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Tuesday 10 May 2005 17:24, Michael Glaesemann wrote:
> This works well, but I think I'll have to change all of the paths
> when I move the group of scripts to the production server to load
> them. What I'd like to do is be able to use paths relative to the
> file that contains the \i commands. This doesn't seem to work when
> using \i.
>
> I imagine that I'm not alone in wanting to load a bunch of scripts at
> a go, and I'm wondering how others handle this situation. Advice?
> Suggestions? What works for you?
I had a similar problem, which I solved by using environment variables:
> After scrutinizing the psql documentation at
> <http://www.postgresql.org/docs/8.0/static/app-psql.html>, I found
> that this actually works:
>
> leif=> \set importdir `echo $IMPORTDIR`
> leif=> \echo :importdir
> /home/leif/slekta/import/scripts
>
> This doesn't:
>
> leif=> \i :importdir/test.sql
> \i: extra argument "/test.sql" ignored
>
> But this does:
>
> leif=> \cd :importdir
> leif=> \i test.sql
>
> So, the problem is solved, sort of. It may also be prudent to save the
> old pwd and return there when the work is done:
>
> leif=> \set olddir `echo $PWD`
> leif=> \set importdir `echo $IMPORTDIR`
> leif=> \cd :importdir
> leif=> \i test.sql
> leif=> \cd :olddir
Here's the whole thread:
<http://www.mail-archive.com/pgsql-general(at)postgresql(dot)org/msg60216.html>
--
Leif Biberg Kristensen
http://solumslekt.org/
From | Date | Subject | |
---|---|---|---|
Next Message | Tony Caduto | 2005-05-10 19:20:27 | Re: Delphi - Developers start develop Access components |
Previous Message | Brendan Jurd | 2005-05-10 18:13:48 | Re: Shorthand for foreign key indices |