BUG #5978: Running postgress in a shell script fails

From: "Paul Deschamps" <pdescham49(at)gmail(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #5978: Running postgress in a shell script fails
Date: 2011-04-13 18:15:31
Message-ID: 201104131815.p3DIFV3N065457@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 5978
Logged by: Paul Deschamps
Email address: pdescham49(at)gmail(dot)com
PostgreSQL version: 8.4.6
Operating system: Ubuntu 10.4
Description: Running postgress in a shell script fails
Details:

When running postgres in a shell using the -c option it looks as though it
parses the contents of the --command as command line arguments.

---BEGIN SCRIPT---
#!/bin/bash
psql --version
PCOMMAND='psql postgres -c"SELECT tablename FROM PG_TABLES limit 1;"'

echo "PGSQL - Execution from a shell script test"
echo
echo "Running Command:"${PCOMMAND}

echo "TEST 1 "
OUTPUT1=$(${PCOMMAND})
echo $OUTPUT1
echo
echo "TEST 2"
OUTPUT2=`$PCOMMAND`
echo $OUTPUT2
echo
echo "TEST 3"
OUTPUT3=`exec $PCOMMAND`
echo $OUTPUT3
echo
echo "TEST 4"
$PCOMMAND

echo "TEST 5"
psql postgres -c"SELECT tablename FROM PG_TABLES limit 1;"
---END SCRIPT---

---BEGIN OUTPUT---
[postgres(at)host03 scripts]$ ./test.sh
psql (PostgreSQL) 8.4.6
PGSQL - Execution from a shell script test

Running Command:psql postgres -c"SELECT tablename FROM PG_TABLES limit 1;"
TEST 1
psql: warning: extra command-line argument "FROM" ignored
psql: warning: extra command-line argument "PG_TABLES" ignored
psql: warning: extra command-line argument "limit" ignored
psql: warning: extra command-line argument "1;"" ignored
psql: FATAL: role "tablename" does not exist

TEST 2
psql: warning: extra command-line argument "FROM" ignored
psql: warning: extra command-line argument "PG_TABLES" ignored
psql: warning: extra command-line argument "limit" ignored
psql: warning: extra command-line argument "1;"" ignored
psql: FATAL: role "tablename" does not exist

TEST 3
psql: warning: extra command-line argument "FROM" ignored
psql: warning: extra command-line argument "PG_TABLES" ignored
psql: warning: extra command-line argument "limit" ignored
psql: warning: extra command-line argument "1;"" ignored
psql: FATAL: role "tablename" does not exist

TEST 4
psql: warning: extra command-line argument "FROM" ignored
psql: warning: extra command-line argument "PG_TABLES" ignored
psql: warning: extra command-line argument "limit" ignored
psql: warning: extra command-line argument "1;"" ignored
psql: FATAL: role "tablename" does not exist
TEST 5
tablename
-----------
pg_type
(1 row)

---END OUTPUT---

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2011-04-13 18:32:31 Re: BUG #5974: UNION construct type cast gives poor error message
Previous Message Tom Lane 2011-04-13 17:55:00 Re: BUG #5975: Incorrect result from mod function with cast