You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pg库连接PostgreSQL提示ReferenceError: users未定义如何解决?

解决方案

错误原因

你遇到的ReferenceError: users is not defined报错首先要排查变量声明顺序:如果你实际运行的代码里,const users = [{ id: 1 }]这行写在了new Client实例化的代码之后,就会因为变量未提前声明触发该报错,调整变量顺序到使用前即可解决语法层面的报错。

但你的代码本身还存在逻辑错误,即使解决了未定义的问题也无法正常运行:

  • pg客户端的database配置项要求传入字符串格式的PostgreSQL数据库名称,你现在赋值的是JS代码里定义的users数组,完全不符合参数要求。
  • 你定义的const users = [{ id: 1 }]是JS运行时的内存变量,和PostgreSQL数据库里的库、表没有任何关联,完全无用可以直接删除。
  • 你执行的select * from users查询的是PostgreSQL对应数据库下的users表,需要提前在你连接的数据库中创建好该表再执行查询,否则会触发表不存在的报错。

修正后的代码示例

const {Client} = require('pg')
const client = new Client({
    user: "postgres",
    password: "testing",
    host: "BlackPearl",
    port: 5432,
    // 此处替换为你pgAdmin中实际创建的PostgreSQL数据库名称的字符串形式
    database: "你的实际数据库名"
})

execute()

async function execute(){
    try {
        await client.connect()
        console.log("Connected")
        const results = await client.query("select * from users")
        console.table(results.rows)
    } catch (err) {
        console.error('运行错误: ', err)
    } finally {
        await client.end()
        console.log("Disconnected")
    }
}

内容的提问来源于stack exchange,提问作者Den

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:18:05