Я не могу понять это - выданный SQL-запрос недопустим
key="test"
payload=$(gzip -ckqd ./temp.json.gz | jq -c . | sed 's/"/\\"/g')
printf 'INSERT INTO my_table VALUES ("%s", "%s")' "$key" "$payload" | sqlite3 ./temp.db
Очевидно, что переменная $ payload представляет собой строку json (может иметь одинарные и двойные кавычки и т. Д.)