У меня есть сценарий оболочки (#! / Bin / ksh), который вызывает сценарий pl / pgsql.Мне удалось передать переменную из сценария оболочки с помощью следующей команды:
psql -v PGPASSWORD=$PWD -h $IP_MACHINE -f $PGSQL_SCRIPT.sql -v param_date="'2018-01-02'" -v param_nTX="'2'" -U $USER -d $DB_NAME -p $PORT > $LOG_FILE 2>&1
в сценарий pgsql, используя следующую команду:
select set_config('psql.param_date', :param_date, false);
Я брожу, если естьспособ изменить содержимое этой переменной внутри сценария pgsql, чтобы новое значение переменной могло быть красным в сценарии оболочки.
или если есть другой способ передачи значения из сценария pgsql в оболочкуscript.
, чтобы дать вам некоторый контекст, мне это нужно, потому что я хочу выполнять коммит каждую n транзакцию.но внутри скрипта pgsql я не могу сделать коммит внутри цикла.(я думаю, это невозможно), поэтому я хочу использовать цикл внутри скрипта оболочки, чтобы несколько раз вызвать скрипт pgsql, который выполняет только один коммит.но мне нужно знать, когда останавливать цикл оболочки, поэтому я хотел бы, чтобы скрипт pgsql отправлял информацию «stop» в скрипт оболочки.
Я также подумал напечатать, чтобы сохранить значение изсценарий pgsql, а затем прочитать его с помощью сценария оболочки.но мне не очень нравится это решение.
есть подсказка?заранее спасибо вам ваша помощь !!