I made a function so that when I click on a button it made a "COPY TO" querie to the server. The goal is to export a table database in .csv that goes to the user downloads of my application. I first tried to write the database table in an existing file with the following querie :
async function exportDatabase(req, res){
return db.any("\copy tag_7z8eq73 to 'C:\Users\New-rFid-Concept\Documents\BioTech_mathis\tag_7z8eq73.csv' delimiters '|' CSV HEADER")
.then(rows => {
res.json(rows)
})
.catch(error => {
console.log(error)
});
}
But the following error is returning : "A relative path is not allowed to use COPY to a file"
From what I understand I have to write to STDOUT but when I send this request nothing happens in my VScode terminal or anything else.
I tried :
"COPY tag_7z8eq73 TO STDOUT csv header"
"COPY tag_7z8eq73 TO STDOUT"
"\copy tag_7z8eq73 TO STDOUT"
and others..
Do you know what would be the query that would allow me to create a .csv file with my node.js application?
Thank you for your help!
Finally instead of doing with the complicated 'COPY TO' command line, I 'SELECT' the database, push it into an array, convert it to json and create a csv file using the 'vue-json-to-csv' plugin.