Re: shell script to populate array values

Поиск
Список
Период
Сортировка
От Paul Silveira
Тема Re: shell script to populate array values
Дата
Msg-id 7844387.post@talk.nabble.com
обсуждение исходный текст
Ответ на shell script to populate array values  (Paul Silveira <plabrh1@gmail.com>)
Ответы Re: shell script to populate array values  (SCassidy@overlandstorage.com)
Список pgsql-general
I wonder if I could ask another question on this thread...

How would i get the latest ID value of a table in psql and then use that
value as part of an insert statement...

For example...

I would like ot declare a variable in a shell script and then use that value
in the insert statement later in the script...
1)  set the variable...
SERVERCOLLECTIONTIMEID = `psql Admin -Upostgres -hMYSERVER -t -c"INSERT INTO
servercollectiontime(batchtime) VALUES('$BATCHTIME'); SELECT
currval('servercollectiontime_servercollectiontimeid_seq');"`

2)  use the variable...
psql -Upostgres -hMYSERVER -t -c"SELECT '$SERVERCOLLECTIONTIMEID', column1
FROM mytable;"

The reason why I want to use the variable is because I want to eventually
insert that data into a table that is looking for that ID value.

Thanks in Advance...









Paul Silveira wrote:
>
> 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#a7844387
Sent from the PostgreSQL - general mailing list archive at Nabble.com.


В списке pgsql-general по дате отправления:

Предыдущее
От: Jeff Davis
Дата:
Сообщение: Re: Online index builds
Следующее
От: Gregory Stark
Дата:
Сообщение: Re: Online index builds