Re: variable filename for psql \copy

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Jiří Fejfar <jurafejfar(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: variable filename for psql \copy
Date: 2022-04-25 16:07:38
Message-ID: CAKFQuwYM5Z7iz6gLVwgxvxfsN=DwUtkPmcdsTqyPKbjWt-mnfA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Apr 25, 2022 at 1:24 AM Jiří Fejfar <jurafejfar(at)gmail(dot)com> wrote:

> contrib_regression=# copy (select 1) to :'afile';
>

Hopefully you realize that COPY is going to place that file on the server,
not send it to the psql client to be placed on the local machine.

The best way to do copy in psql is:
\set afile '...'
\o :'afile'
copy ... to stdout; --or the variant where you one-shot the \o ( \g with
arguments )

Not only do you get variable expansion but you can write the COPY command
on multiple lines just like any other SQL command.

Additionally, we have a list, and even an online form, for submitting bug
reports. That would have been the more appropriate place to direct this
email.

David J.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Bossart 2022-04-25 16:18:53 Re: [Proposal] vacuumdb --schema only
Previous Message Alvaro Herrera 2022-04-25 15:48:18 bogus: logical replication rows/cols combinations