BUG #14645: Can't use psql from within program used by "copy ... from program" script?

From: john(at)7fff(dot)com
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #14645: Can't use psql from within program used by "copy ... from program" script?
Date: 2017-05-06 17:18:03
Message-ID: 20170506171803.24361.76643@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 14645
Logged by: John Norman
Email address: john(at)7fff(dot)com
PostgreSQL version: 9.4.11
Operating system: OS/X
Description:

Here's a little .sql script in a directory bug/ in my home.

drop database if exists bug;
create database bug;
\c bug
create table bug (id int);
copy bug(id) from program '$HOME/bug/data' csv header;
select * from bug;

It calls a script called data. I run it with psql -X -f
$HOME/bug/setup.sql

This works for the "data" script:

#/bin/bash
echo "id"
echo "1"
echo "2"

This doesn't:

#/bin/bash
echo "id"
echo "1"
psql -X -t -q -c "select 2" | xargs

I can't figure out if psql is disallowed from the program referenced by the
copy program; or if somehow standard out is getting nuked.

The xargs is to remove the spaces are the "2" generated by the psql
command.

My use case was that I wanted part of the script referenced via copy program
to get something out of the database. Didn't work.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2017-05-06 17:45:02 Re: BUG #14645: Can't use psql from within program used by "copy ... from program" script?
Previous Message Tom Lane 2017-05-06 16:33:41 Re: error- how to solve-reg