Thread: Passing Parameters To Command Scripts

Passing Parameters To Command Scripts

From
"Duncan Garland"
Date:
I'm in the process of converting some Oracle SQL scripts to Postgres. Many
of the scripts accept arguments along the following
lines:

@tmp.sql fred

I can't find the Postgres equivalent.

This works from outside Postgres:

psql -f tmp.sql -v arg1=fred

This works from within psql

\set arg1 fred
\i tmp.sql
\unset arg1

But the following all fail

\i tmp.sql fred
\i tmp.sql arg1=fred
\i tmp.sql -v arg1=fred

Can anyone help? What is the correct syntax?


Re: Passing Parameters To Command Scripts

From
Richard Broersma Jr
Date:
> I'm in the process of converting some Oracle SQL scripts to Postgres. Many
> of the scripts accept arguments along the following
> lines:
>
> @tmp.sql fred
>
> I can't find the Postgres equivalent.
>
> This works from outside Postgres:
>
> psql -f tmp.sql -v arg1=fred
>
> This works from within psql
>
> \set arg1 fred
> \i tmp.sql
> \unset arg1
>
> But the following all fail
>
> \i tmp.sql fred
> \i tmp.sql arg1=fred
> \i tmp.sql -v arg1=fred
>
> Can anyone help? What is the correct syntax?

I would be enterested in see a way to pass arguements to a sql script as well.  However this link
might help to you do what you want:
http://www.postgresql.org/docs/8.1/interactive/xfunc-sql.html

Regards,

Richard Broersma Jr.