BUG #5978: Running postgress in a shell script fails
| От | Paul Deschamps | 
|---|---|
| Тема | BUG #5978: Running postgress in a shell script fails | 
| Дата | |
| Msg-id | 201104131815.p3DIFV3N065457@wwwmaster.postgresql.org обсуждение исходный текст | 
| Ответы | Re: BUG #5978: Running postgress in a shell script fails | 
| Список | pgsql-bugs | 
The following bug has been logged online:
Bug reference:      5978
Logged by:          Paul Deschamps
Email address:      pdescham49@gmail.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@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---
		
	В списке pgsql-bugs по дате отправления: