Re: psql access of user's environmental variables - Mailing list pgsql-general

From Tom Lane
Subject Re: psql access of user's environmental variables
Date
Msg-id 3846.1178203408@sss.pgh.pa.us
Whole thread Raw
In response to psql access of user's environmental variables  (Paul Tilles <Paul.Tilles@noaa.gov>)
Responses Stored procedure
Re: psql access of user's environmental variables
List pgsql-general
Paul Tilles <Paul.Tilles@noaa.gov> writes:
> What I really want to do is the following:

> \set  local_site  `echo  $FXA_LOCAL_SITE
> UPDATE  table_name  SET  office_id =  :local_site;

> This results in the message
>                column  "xxx" does not exist

Yes, because you have no quotes in the value of the variable, so that
update looks to the server like
    UPDATE  table_name  SET  office_id =  xxx;

After some fooling around, the easiest way to get the needed quotes is
to embed them in the echo result:

\set local_site `echo "'$FXA_LOCAL_SITE'"`

BTW, does your psql really let you leave off the trailing ` like
that?  Mine doesn't.

            regards, tom lane

pgsql-general by date:

Previous
From: Csaba Nagy
Date:
Subject: Re: Update violating constraint
Next
From: Thorsten Kraus
Date:
Subject: Stored procedure