Я делаю запрос для экспорта результатов в CSV в postgres, запущенном на сервере ubuntu.
Запрос вызывается из Node-API, который подключается к Postgres через node-postgres-driver (https://node-postgres.com/).
Запрос выглядит так:
var sqlText =
'Copy (SELECT company.name AS Company, SUM(sale.numbersold) AS NumberSold
FROM SALE LEFT JOIN company ON company.companyid = sale.companyid
WHERE sale.createdate BETWEEN $1 AND $2 GROUP BY company.name)
To \'/tmp/test.csv\' With CSV HEADER DELIMITER \',\'';
Всякий раз, когда я пытаюсь использовать этот запрос с параметрами, я получаю исключение, что postgres ожидал 0 параметров и получил 2. Как вы отправляете параметры в такой запрос?
Если я запрашиваю такой статический текст, он работает:
var sqlText = 'Copy (SELECT company.name AS Company, SUM(sale.numbersold) AS NumberSold
FROM SALE LEFT JOIN company ON company.companyid = sale.companyid
WHERE sale.createdate BETWEEN \'2018-01-01\' AND \'2018-01-01\'
GROUP BY company.name)
To \'/tmp/test.csv\' With CSV HEADER DELIMITER \',\'';
Код в узле:
var params = ['2018-01-01', '2018-01-28']
let dbResult;
try {
dbResult = await GetStuff(sqlText, params);
} catch (err) {
}