psql \echo strangeness with :variables

From: Jerry Sievers <jerry(at)jerrysievers(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: psql \echo strangeness with :variables
Date: 2006-05-24 20:57:39
Message-ID: m3ejyjp2d8.fsf@prod01.jerrysievers.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello. Today I used a shell call in psql to save the runtime date in
a psql variable and use this to dynamically create tables with date
encoded in table name.

For some reason however, the psql \echo command can't expand the date
though it does expand in the calls to the backend.

See example below;

jsievers(at)jsievers#
= \set date `date '+%Y%m%d'`

jsievers(at)jsievers#
= \echo :date
20060524

jsievers(at)jsievers#
= \echo foo_:date
foo_:date <-- Was expecting this to expand... see below

jsievers(at)jsievers#
= create table foo_:date();
CREATE TABLE

jsievers(at)jsievers#
= \dt
List of relations
Schema | Name | Type | Owner
--------+--------------+-------+----------
public | foo_20060524 | table | jsievers
(1 row)

Seems there's a bit of asymmetry in the way psql evaluates the
:variables.

FYI

--
-------------------------------------------------------------------------------
Jerry Sievers 305 854-3001 (home) WWW ECommerce Consultant
305 321-1144 (mobile http://www.JerrySievers.com/

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Joel Alejandro Espinosa Carra 2006-05-24 21:01:57 Re: JDBC issue
Previous Message Tom Lane 2006-05-24 20:28:32 Re: I dont get it, dump / restore failures to the same cluster.