Setting a psql variable from SQL output

From: Bobby Dewitt <Bdewitt(at)appriss(dot)com>
To: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Setting a psql variable from SQL output
Date: 2011-08-26 20:01:20
Message-ID: CA7D7493.24915%bdewitt@appriss.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Is there a way to get output from a SQL command or function and have it be set to a variable value in psql? My main goal is to execute a certain script depending on the version of the database server (either 8.4 or 9.0). I can dynamically execute a script using the following, but I can't get it to set the myscript variable value based on the version of the database:

\set myscript 'psql_script.sql'
\i :myscript

However, I would like to be able to have the script executed like this:

\set myscript = 'select substring(version() from 12 for 5);'
\i :myscript

I can obviously select the version into a PL/PGSQL variable, but then I can't execute the script from PL/PGSQL.

Thanks,
Bobby

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Merlin Moncure 2011-08-26 20:16:18 Re: Setting a psql variable from SQL output
Previous Message pasman pasmański 2011-08-26 15:43:24 Re: documentation for hashtext?