首页 > 解决方案 > 解析服务器运行 postgres 解析错误:错误:列“_rperm”不存在

问题描述

我已经设置解析服务器以连接到 postgres 数据库。databaseURI: 'postgres://postgres:mypassoword@localhost:5432/fantasy'。之后我启动了服务器:nodejs index.js。

该服务已启动正常,但是当我尝试调用我的 API 时,我在 /var/log/postgresql/postgresql-9.6-main.log 中收到以下错误

postgres@fantasy 错误:列“_rperm”不存在于字符 30 2019-10-01 21:44:47.468 -03 [10895] postgres@fantasy 声明:SELECT * FROM "jogos" WHERE ("_rperm" IS NULL OR " _rperm" && 数组 [' ',' ']) 限制 100

Parse 服务器(版本:)中的日志是:

错误:解析错误:错误:列“_rperm”不存在{“code”:1,“stack”:“错误:错误:列\“_rperm\”
在/root/parse-server-example不存在\n /node_modules/parse-server/lib/Controllers/DatabaseController.js:1179:21\n 在 processTicksAndRejections (internal/process/task_queues.js:93:5)"}

我正在使用当前版本的解析服务器版本 3.9.0。

任何帮助将不胜感激。

标签: postgresqlparse-server

解决方案


按照@DaviMacêdo 的提示,我能够通过直接通过 Parse Dashboard 创建对象/表来解决我的问题。

首先,我必须创建自签名证书:

$ openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem
$ openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out server.crt

然后我创建了一个节点脚本来初始化解析服务器和解析仪表板。文件:仪表板.js:

var fs = require('fs');
var http = require('http');
var https = require('https');
var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var ParseDashboard = require('parse-dashboard');
var app = express();
var port = 1337;

var options = {
    key: fs.readFileSync('./key.pem', 'utf8'),
    cert: fs.readFileSync('./server.crt', 'utf8'),
};

var parse = new ParseServer({
    databaseURI: 'postgres://postgres:dbpassword@localhost:5432/fantasy',
    appId: 'fantasy',
    masterKey: 'MyPa$$word',
    serverURL: 'http://localhost:1337/parse' 
});

var dashboard = new ParseDashboard({
    "apps": [{
        "serverURL": "https://myserver:1337/parse",
        "appId": "fantasy",
        "masterKey": "MyPa$$word",
        "appName": "Fantasy"
    }],
    "users": [{
        "user": "admin",
        "pass": "MyPa$$word"
    }]
});

app.use('/parse', parse);
app.use('/dashboard', dashboard);

var server = https.createServer(options, app).listen(port, function() {
    console.log("server listening on port " + port);
});

要启动解析服务器并解析仪表板:

$节点dashboard.js &


推荐阅读