Как использовать Postgres 11 COPY command stdout stdin в хранимой процедуре

#postgresql

#postgresql

Вопрос:

В Postgres 11 можно create procedure не только выполнять функции, отлично! Но нам нужно создать процедуру для копирования объединенных данных без сохранения на диск с использованием stdout / stdin.

В настоящее время мы используем «более старое» расширение postgres под названием ‘plsh’ (это код unix в процедурах plsh). Это работает, но мы находимся в середине процесса преобразования старого кода в новые процедуры Pg11.

В процедуре plsh мы используем ее следующим образом:

 counter=$(${exec} "copy (select * from  ${in_schemaname}.${in_tablename}) to   stdout ENCODING 'utf8'" | 
${exec} "copy ${in_schemaname}_backup.${in_tablename} from stdin" )  >/dev/null 2>amp;1;
  

Мы сталкиваемся с проблемами при использовании COPY со stdout / stdin внутри новой процедуры pg 11
используя PL / pgSQL.

Кто-нибудь делал это? Возможно ли это вообще?