pg-promise设置模式NodeJs

我使用pg-promise来处理nodeJS和postgres,但是当我尝试查询我的User表时,它检索到超级用户。 我认为这与我还没有模式集的事实有关,所以代码search默认值1.如何在代码上设置模式?

我试过这个:

 var express = require('express'); var app = express(); const PORT = 8080; var pgp = require('pg-promise')(/*options*/) var db = pgp('postgres://postgres:randompassword@localhost:5432/appname') app.listen(PORT,function() { console.log("listening to port: " + PORT); }) db.any('SELECT * FROM User') .then(function(data) { console.log(data); }) .catch(function(error) { console.log(error); }); 

你的问题不是模式,而是表名。

User (不区分大小写)是对当前login的数据库用户的保留引用。

最好不要用这样的名字表,或者使用plurified – Users ,那么你不会有任何问题。

但是,如果您必须使用名称为User的表,那么您将始终必须将其放在双引号中 – "Users" (区分大小写),以便服务器可以区分它们。