Re: [GENERAL] multiple sql results to shell

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: [GENERAL] multiple sql results to shell
Дата
Msg-id CAKFQuwaJG=_bNXRFfM2k8s9wqWfthx0d99--rU=WZJww15Sirw@mail.gmail.com
обсуждение исходный текст
Ответ на [GENERAL] multiple sql results to shell  (Mark Lybarger <mlybarger@gmail.com>)
Список pgsql-general
On Mon, Oct 23, 2017 at 7:08 AM, Mark Lybarger <mlybarger@gmail.com> wrote:
I have this bash/sql script which outputs some curl commands.  the backticks causes it to get interpreted by the shell.   This works fine if there is one result, but when there are many rows returned, it looks like one shell command.  

any help on getting multiple rows returned to be executed by the shell would be appreciated!

thanks!

`psql -P "tuples_only=on" -h ${DB_HOST} -d ${DB_NAME} -U ${DB_USER} -c "select 'curl -X POST http://${REGISTER_HOST}:8080/' || source_id || '/${MT}/' || model || '/' || site || '/backoffice/register' from myschema.events where source_id = $SOURCE_ID and ineffective_date is null"`


​You will need to, instead, "SELECT source_id, model, site​ FROM ..." to return the raw record data to bash and then use bash's loop facilities to dynamically generate and execute the curl command.

A second option, that I've never tried, is returning the full string but not within a backtick command, then using bash looping simply invoke the string like a normal command.

David J.

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

Предыдущее
От: Mark Lybarger
Дата:
Сообщение: [GENERAL] multiple sql results to shell
Следующее
От: Geoff Winkless
Дата:
Сообщение: Re: [GENERAL] multiple sql results to shell