gpt4 book ai didi

javascript - 无法使用 node-postgres 从 Node 访问 Postgres 中的正确表

转载 作者:行者123 更新时间:2023-12-02 22:21:17 26 4
gpt4 key购买 nike

我正在尝试使用 node-postgres 从 Node 连接到 postgres,但即使授予了身份验证,我也无法搜索到表。例如,当我执行:

const { Client } = require('pg')
const client = new Client({
user: 'username',
password: 'somepassword',
host: 'hostinfo',
port: '5432',
database: 'databaseInfo',
ssl: true,
})

const execute = async() => {
try {
await client.connect()
await client.query("BEGIN")
const results = await client.query("select * from User")
await client.query("COMMIT")
console.log(results.rows)
} catch(err) {
throw new Error(err)
} finally {
await client.end()
console.log("Finished")
}
}

execute()

它返回数据库的用户,这是我用来访问数据库的“用户名”,而不是User表的内容。

如果我要搜索数据库中的任何其他表(例如 Review 表),错误消息将显示

UnhandledPromiseRejectionWarning: Error: error: relation "review" does not exist

最佳答案

如果您的表确实名为“User”(大写“U”),则在查询时应该引用其名称,如下所示:

const results = await client.query('select * from "User"')

当不加引号时,PostgreSQL会认为您正在调用函数别名user,它与current_user相同。

引用文献:

关于javascript - 无法使用 node-postgres 从 Node 访问 Postgres 中的正确表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59222620/

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