psql - c передача json данных - PullRequest
       33

psql - c передача json данных

0 голосов
/ 03 августа 2020

У меня проблемы с передачей некоторых данных json в функцию psql с параметром - c. Я не писал функцию, и я не могу ее изменить. Инструкции по использованию, которые мне были предоставлены, должны входить в систему через psql, а затем выполнять

blah.function(('[{"thing":"value","other_thing":"other_value"}]'));

. Это работает, однако мне нужно выполнить его как единственную строку, чтобы захватить вывод и управлять с помощью некоторых bash маг c. Я пробовал всевозможные способы экранирования данных json и каждый раз получаю синтаксическую ошибку.

psql -h localhost -p 5432 -U user schema -c 'SELECT blah.function(('[{"thing":"value","other_thing":"other_value"}]'));'
psql -h localhost -p 5432 -U user schema -c 'SELECT blah.function((''[{"thing":"value","other_thing":"other_value"}]''));'
psql -h localhost -p 5432 -U user schema -c 'SELECT blah.function((\'[{"thing":"value","other_thing":"other_value"}]\'));'

Может ли кто-нибудь просветить меня в этот понедельник после обеда, как мне пройти в данных JSON?

1 Ответ

0 голосов
/ 03 августа 2020

Спросил и ответил. Хитрость заключалась в том, чтобы перевернуть кавычки и избежать json. См. Ниже

psql -h localhost -p 5432 -U user schema -c "SELECT blah.function(('[{\"thing\":\"value\",\"other_thing\":\"other_value\"}]'));"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...