节点 Postgres (pg) 库找不到 table 的关系
Node Postgres (pg) library can't find relation of table
我有一个需要修改的 Postgres 数据库。它在我的本地主机中。我正在尝试为此使用 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();
});
结果显示 return 'postgreadmin' 为用户。这有点令人困惑。我的数据库用户应该包含 'peter'、'mary' 等用户。查询似乎是 运行 在 Postgres 的配置上,而不是在数据库表本身上。
我尝试了其他表,但错误是“未找到相关商家”。我不确定如何连接到这些表。我的表在架构调用下 'public'。所以我的问题是我是否需要在 pg 的配置中指定连接到架构 'public'?
user
是 return 当前数据库用户的函数,因此 select user
将 return 数据库用户(并且 select * from user
也会).
如果您 did 使用该名称创建 table 您需要使用双引号:
SELECT * FROM "User"
请注意,带引号的标识符区分大小写。 "User"
与 "user"
或 "USER"
的名称不同。检查您的数据库的拼写是否正确。 "Merchant"
可能也是如此
我强烈建议您将 table 重命名为非保留关键字且不与任何内部函数名称冲突的名称。
更多详细信息,请参阅手册:
https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
我有一个需要修改的 Postgres 数据库。它在我的本地主机中。我正在尝试为此使用 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();
});
结果显示 return 'postgreadmin' 为用户。这有点令人困惑。我的数据库用户应该包含 'peter'、'mary' 等用户。查询似乎是 运行 在 Postgres 的配置上,而不是在数据库表本身上。
我尝试了其他表,但错误是“未找到相关商家”。我不确定如何连接到这些表。我的表在架构调用下 'public'。所以我的问题是我是否需要在 pg 的配置中指定连接到架构 'public'?
user
是 return 当前数据库用户的函数,因此 select user
将 return 数据库用户(并且 select * from user
也会).
如果您 did 使用该名称创建 table 您需要使用双引号:
SELECT * FROM "User"
请注意,带引号的标识符区分大小写。 "User"
与 "user"
或 "USER"
的名称不同。检查您的数据库的拼写是否正确。 "Merchant"
我强烈建议您将 table 重命名为非保留关键字且不与任何内部函数名称冲突的名称。
更多详细信息,请参阅手册:
https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS