| From: | Ron Johnson <ron(dot)l(dot)johnson(at)cox(dot)net> | 
|---|---|
| To: | pgsql-general <pgsql-general(at)postgresql(dot)org> | 
| Subject: | psql in a bash function | 
| Date: | 2018-03-12 18:14:26 | 
| Message-ID: | 32feadd1-7601-6a39-9fb8-bd1d3544f2e2@cox.net | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
Hi,
Because I need to log into many servers, I created functions as keyboard 
shortcuts (not aliases, since I will want to embed these shortcuts in other 
functions).
psqlxyz ()
{
     echo "P1=$1";
     echo "P2=$2";
     psql -U postgres -h XYZ $@
}
This is the (simple, test) command that I want to run, which works when run 
explicitly using psql, but not my function.  Any ideas why the function 
isn't properly passing the "-c" and '"select ..."' to psql?
$ psql -U postgres -h XYZ -c "select oid, datname from pg_database;"
    oid   |        datname
---------+------------------------
        1 | template1
    11563 | template0
    11564 | postgres
    16404 | test1
  3039800 | ABCD
   319011 | EFGH
   649861 | IJKL
(7 rows)
$ psqldba -c *'*"select oid, datname from pg_database;"*'*
P1=*-c*
P2=*"select oid, datname from pg_database;"*
psql: warning: extra command-line argument "datname" ignored
psql: warning: extra command-line argument "from" ignored
psql: warning: extra command-line argument "pg_database;"" ignored
psql: FATAL:  database "oid," does not exist
Thanks
-- 
Angular momentum makes the world go 'round.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Melvin Davidson | 2018-03-12 18:21:58 | Re: psql in a bash function | 
| Previous Message | Adrian Klaver | 2018-03-12 15:56:06 | Re: can someone send a design document of "parallel work" to me? |