Thread
-
Re: psql in a bash function
Ron Johnson <ron.l.johnson@cox.net> — 2018-03-12T18:32:24Z
I knew it was something simple... Thanks On 03/12/2018 01:24 PM, Eric Raskin wrote: > Yes, you need double quotes around $@, as in "$@". > > https://www.gnu.org/software/bash/manual/html_node/Special-Parameters.html > > > > Sent from my Verizon, Samsung Galaxy smartphone > > > -------- Original message -------- > From: Ron Johnson <ron.l.johnson@cox.net> > Date: 3/12/18 2:15 PM (GMT-05:00) > To: pgsql-general <pgsql-general@postgresql.org> > Subject: psql in a bash function > > > > 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. -- Angular momentum makes the world go 'round.