Я хочу динамически генерировать набор переключателей для PG_DUMP
, как показано ниже:
--table=mySchema.foo --table=mySchema.bar ...
Однако я хочу ограничить эти переключатели только представлениями.Имена видов не соответствуют шаблону.Все они находятся в одной схеме с именем mySchema
.
Вот сценарий пакетного файла, который я написал:
@echo off
set PARAM_HOTE=localhost
set PARAM_PORT=5435
set PSQL="C:\Program Files\PostgreSQL\9.4\bin\psql.exe"
set SQL_QUERY=^
select string_agg( '--table=' || quote_ident(nspname) || '.' || quote_ident(relname), ' ' )^
from (^
select *^
from pg_class^
join pg_namespace on pg_namespace.oid = pg_class.relnamespace^
where relkind = 'v'^
and nspname = 'mySchema'^
order by relname ASC^
) infos_vues^
;
for /f %%i in ('"%PSQL%" --quiet --tuples-only --host %PARAM_HOTE% --port %PARAM_PORT% --username "rec" -c "%SQL_QUERY%" db') do set PG_DUMP_SWITCHES_FOR_VIEWS_ONLY=%%i
:: Call PG_DUMP...
Когда я его запускаю, я получаю следующую ошибку:
'"C:\Program Files\PostgreSQL\9.4\bin\psql.exe"" -c "select'
не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл.