Как выполнить sql функцию из bat файла?

Всем привет. Как написать батник, который выполнит sql функцию update_center, которая внутри бд лежит в Schemas/test_work/Functions? Использую субд postresql.

Функция чисто для примера пусть будет такой:

create function test_work.update_center()
returns bigint
language plpgsql
as
$$
begin
    insert into data.quality_control_defect_temp (id, weld_qc_method_id, defect_id, description, depth, length, coordinates)
    values (4, 12, 1000, 'D=0.5', null, null, '500') returning id;
end;
$$;

Пробовал следующим образом:

psql postgresql://*:*@localhost:5432/password -c "select * from update_center();"

До флага -c пытаюсь подключиться к бд, а после - выполнить функцию. Но это не работает:

psql: предупреждение: лишний аргумент "select * from update_center();" проигнорирован

Что делаю не так?


Ответы (1 шт):

Автор решения: Alexey R.

Попробуйте поменять местами параметр с запросом и URI базы.

psql -c "select * from update_center();" postgresql://*:*@localhost:5432/password 

По этой доке опшензы идут сначала, а описание базы вконце.

P. S. - И исправьте сам запрос как советует @Akina

→ Ссылка