gpt4 book ai didi

javascript - 如何通过NodeJS连接远程数据库

转载 作者:行者123 更新时间:2023-11-29 14:25:03 24 4
gpt4 key购买 nike

我正在尝试通过 NodeJs 连接到 Heroku 的数据库。

我尝试连接到 localhost,它运行良好。但是当我尝试远程数据库时它给出了错误。

这是运行良好的本地主机连接代码。

const conectionString='postgressql://postgres:1234@localhost:5433/Qfield'
const client= new Client({
connectionString:conectionString
})

client.connect()

//client.query('select * from point',(err,res)=>{
// console.log(err,res)
// client.end()
//})

client.query('SELECT * FROM trees', function(err, res) {
console.log(err,res)
client.end()
});

这里是远程数据库的错误连接。

const {Pool,Client}=require('pg')
const conectionString='postgressql://Username:Password@ec2-54-228-243-29.eu-west-1.compute.amazonaws.com:5432/database'
const client= new Client({
connectionString:conectionString
})

client.connect()

//client.query('select * from point',(err,res)=>{
// console.log(err,res)
// client.end()
//})

client.query('SELECT * FROM trees', function(err, res) {
console.log(err,res)
client.end()
});

这里是错误。

(node:14896) UnhandledPromiseRejectionWarning: error: no pg_hba.conf entry for host "193.140.225.88", user "vfoiltyjszbpav", database "dduigib0uc8ebt", SSL off
at Connection.parseE (C:\Users\CBS Lab\Desktop\postgres_conn\node_modules\pg\lib\connection.js:604:11)
at Connection.parseMessage (C:\Users\CBS Lab\Desktop\postgres_conn\node_modules\pg\lib\connection.js:401:19)
at Socket.<anonymous> (C:\Users\CBS Lab\Desktop\postgres_conn\node_modules\pg\lib\connection.js:121:22)
at Socket.emit (events.js:198:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at Socket.Readable.push (_stream_readable.js:224:10)
at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
(node:14896) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:14896) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Error: Connection terminated unexpectedly
at Connection.con.once (C:\Users\CBS Lab\Desktop\postgres_conn\node_modules\pg\lib\client.js:252:9)
at Object.onceWrapper (events.js:286:20)
at Connection.emit (events.js:198:13)
at Socket.<anonymous> (C:\Users\CBS Lab\Desktop\postgres_conn\node_modules\pg\lib\connection.js:131:10)
at Socket.emit (events.js:203:15)
at endReadableNT (_stream_readable.js:1145:12)
at process._tickCallback (internal/process/next_tick.js:63:19)

如何解决这个错误?我做错了什么?

最佳答案

ssl=true 添加到您的连接字符串以修复您遇到的错误:

const conectionString='postgressql://Username:Password@ec2-54-228-243-29.eu-west-1.compute.amazonaws.com:5432/database?ssl=true'

关于javascript - 如何通过NodeJS连接远程数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58767522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com