\set \e and newline

From: Wim Bertels <wim(dot)bertels(at)ucll(dot)be>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: \set \e and newline
Date: 2022-02-24 17:16:48
Message-ID: 75f2f22ccefef9ae79e550a660083b3fe6be038b.camel@ucll.be
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello,

a quick question about
https://www.postgresql.org/docs/current/app-psql.html
and the \set option

it seems that \set does not interpret an 'enter' interactively the same
as an 'enter' in a short script made with \e

###
* case 1:
postgres=# \set x 1
postgres=# select :x;
?column?
----------
1
###

###
* case 2:
postgres=# \e

-- enter the following the editor (the same code as above)

\set x 1
select :x;

-- save and quit

postgres=#

-- no output
-- curiosly: again \e

postgres=#\e

-- shows select 1; in the editor in v14
-- shows nothing in the editor in v13 (or recursive the content being
cut off)
###

###
variation of case 2:
postgres=# \e

-- enter the following the editor (the same code as above)

\set x 1
select :x;

-- save and quit

postgres=# select :x;
select1select1
----------------
1

###

Doing the same thing with \i instead of \e does behave like i would
expect, ie the same as case 1.

This is referred to as meta-commands in de manual which are to be
affected when using \e, but \g instead of ; seems to work (while it
should be the same?)

###
variation of case 2 using \g instead of ; :
postgres=# \e

-- enter the following the editor (the same code as above)

\set x 1
select :x \g

-- save and quit

?column?
----------
1
(1 row)

postgres=#
###

--
mvg,
Wim

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Hu Bert 2022-02-25 08:25:29 After upgrade pg12 -> pg14 import time increased
Previous Message Tom Lane 2022-02-24 15:46:14 Re: tsvector string representation and parsing