前提・実現したいこと
下のソースコードで実行しようとすると以下のエラーが出ました。
発生している問題・エラーメッセージ
error: invalid input syntax for type timestamp: "CURRENT_TIMESTAMP" at Parser.parseErrorMessage (/home/node_modules/pg-protocol/dist/parser.js:287:98) at Parser.handlePacket (/home/node_modules/pg-protocol/dist/parser.js:126:29) at Parser.parse (/home//node_modules/pg-protocol/dist/parser.js:39:38) at TLSSocket.stream.on (/home/node_modules/pg-protocol/dist/index.js:11:42) at TLSSocket.emit (events.js:198:13) at addChunk (_stream_readable.js:288:12) at readableAddChunk (_stream_readable.js:269:11) at TLSSocket.Readable.push (_stream_readable.js:224:10) at TLSWrap.onStreamRead [as onread] (internal/stream_base_commons.js:94:17) length: 126, name: 'error', severity: 'ERROR', code: '22007', detail: undefined, hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: undefined, table: undefined, column: undefined, dataType: undefined, constraint: undefined, file: 'datetime.c', line: '3755', routine: 'DateTimeParseError' }
該当のソースコード
javascript
1require('pg').defaults.ssl = true; 2const { Client } = require('pg') 3//const Sequelize = require('sequelize'); 4//const sequelize = new Sequelize('postgres://...'); 5 6const pg = new Client({ 7 user: '', 8 host: '', 9 database: '', 10 password: '', 11 port: , 12 13 14}) 15 16 17const sql = "INSERT INTO sensor (id,time,place,cong) VALUES ($1, $2, $3, $4)" 18const values = [5, "CURRENT_TIMESTAMP", 3, 15] 19 20pg.connect() 21.then(() => console.log("接続完了")) 22.then(() => pg.query(sql, values)) 23.then(result => console.log(result)) 24.catch((err => console.log(err))) 25.finally((() => pg.end()))
試したこと
"CURRENT_TIMESTAMP"を"now"に直したらUTC時間ですが、データ挿入できました。
しかし、日本時間を挿入したいです。
CREATE TABLEの際は
time timestamp
という風に定義しました。
ご教授いただけたら助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/16 02:07
退会済みユーザー
2021/12/16 02:27
2021/12/16 04:04