错误关系不存在

我得到一个[error: relation "causes" does not exist]错误从我的节点的应用程序。 这个关系确实存在,我不确定问题是什么。

我创build了表

 CREATE TABLE causes ( cause_id bigint NOT NULL default nextval('causes_cause_id_seq'::regclass), cause_name varchar(40) NOT NULL, goal integer, sponsor varchar(30), organization varchar(30), submitter varchar(30), address varchar(34), balance numeric ); 

这是给出错误的查询:

 client = pg.connect(connectionString, function(err, client, done){ if(err) console.log(err); client.query('INSERT INTO causes (cause_name, goal, organization, sponsor, submitter) VALUES ($1,$2,$3,$4,$5) RETURNING *', r, function(err, result){ if(err) console.log(err); }); }); 

这可能是一个折叠问题。 看到这个答案和SQL语法的PostgreSQL文档 。

编辑后 :看起来这不是一个案例折叠问题。 检查search_pathSHOW search_pathSELECT current_setting('search_path') )并将其与表所在的模式( \dt+ tablename )进行比较以确保该表位于客户端的path中。

还要确保你连接到同一个数据库。

直接在您的client.query('INSERT...')调用之前,运行以下命令以确保您的关系在当前连接上可访问:

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

如果您在结果中没有看到您的causes关系,则关系不存在,或者它是在不同的用户下创build的。