Node Postgres(pg)库无法找到表的关系

时间:2018-02-01 02:00:57

标签: postgresql node-postgres

我有一个我需要修改的Postgres数据库。它在我的localhost中。我正在尝试使用Node Postgres,但我遗漏了文档中的内容。

const client = new Client({
  user: 'postgreadmin',
  host: 'localhost',
  database: 'testdb',
  password: 'somepassword',
  port: 5433,
})

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

结果显示返回&postgreadmin'作为用户。这有点令人困惑。我的数据库用户应该包含像' peter',' mary'这样的用户。查询似乎在Postgres'上运行。配置,而不是数据库表本身。

我尝试了其他表格,错误是"没有商家找到的关系'。我不知道如何连接到表。我的表格位于模式调用公共'之下。所以我的问题是,我是否需要指定in pg的配置来连接到架构' public'?

1 个答案:

答案 0 :(得分:1)

select user是一个返回当前数据库用户的函数,因此select * from user将返回数据库用户(并且SELECT * FROM "User" 也会返回)。

如果你 创建一个具有该名称的表,则需要使用双引号:

"User"

请注意,带引号的标识符区分大小写。 "user"的名称与"USER""Merchant"不同。检查数据库中是否有正确的拼写。 wget -O /dev/null --progress=bar:force www.stackoverflow.com 2>> log_browse.txt tail -n 1 log_browse.txt

可能也是如此

我强烈建议您将表重命名为非保留关键字,并且不会与任何内部函数名冲突。

有关详细信息,请参阅手册:
https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS