shell script to populate array values - Mailing list pgsql-general

From Paul Silveira
Subject shell script to populate array values
Date
Msg-id 7802638.post@talk.nabble.com
Whole thread Raw
Responses Re: shell script to populate array values  (SCassidy@overlandstorage.com)
Re: shell script to populate array values  (Paul Silveira <plabrh1@gmail.com>)
Re: shell script to populate array values  (Paul Silveira <plabrh1@gmail.com>)
Re: shell script to populate array values  (Paul Silveira <plabrh1@gmail.com>)
List pgsql-general
Hello,

I would like to create a shell script that would populate two variables with
the return of a SELECT statement that would return two attributes...

For example...

#!/bin/bash
SERVER_NAMES=`psql Admin -Upostgres -hMYSERVER -t -c"SELECT servername,
instanceport from server where serverclass = 3 and isactive = 'True' ";`


As you can see, I'm returning the servername "and" the instanceport from the
server table.  This will later allow me to create psql commands to connect
to each server dynamically.

I had the script working correctly when I was just running it for the server
name as below...
#!/bin/bash
SERVER_NAMES=`psql Admin -Upostgres -hMYSERVER -t -c"SELECT servername from
server where serverclass = 3 and isactive = 'True' ";`


Does anyone know the easiest way to get both values out of some variables
that I could set?

Later in the script, I'm creating a for loop and iterating through the
server names and would like to build connection strings dynamically with the
results from the select string...



    for i in $SERVER_NAMES
    do
         psql -Upostgres -h$i -p$i -A -t -c"SELECT '$i', '$BATCHTIME', name,
setting, category, short_desc, context, vartype, source, min_val, max_val
FROM pg_settings;" | psql Admin -Upostgres -hMYSERVER -t -c"COPY
serverconfigsetting FROM STDIN WITH DELIMITER '|' NULL AS '';"
         echo "Done with $i"
    done


As you can see I have "-h$i -p$i" in the script for the host and port.
Again the script worked fine when I just had the -h@i in there...

I know that the current forloop is incorrect specifiying the $i twice but I
just put that in there to show an example of what I was hoping to do...  It
would probably be more accessing the array value like -h$i[0:0] -p$i[0:1] in
pseudo code for accessing array values.

Thanks in advance,

Paul





--
View this message in context: http://www.nabble.com/shell-script-to-populate-array-values-tf2796502.html#a7802638
Sent from the PostgreSQL - general mailing list archive at Nabble.com.


pgsql-general by date:

Previous
From: Tony Caduto
Date:
Subject: Re: TOAD-like query builder for PostgreSQL?
Next
From: "SunWuKung"
Date:
Subject: Re: search_path when restoring to new db