我无法在pSequel中提取PG数据库或将其连接到Node后端

问题描述

我正在使用PG数据库构建我的第一个Node.j / Express.js API。昨晚我创建了数据库添加了一些表。今天,我无法将其连接到后端,当我再次尝试在PSequel中访问时,它告诉我它不存在...

server.js

const express = require('express')

require('dotenv').config()

const helmet = require('helmet')
const bodyParser = require('body-parser')
const cors = require('cors')
const morgan = require('morgan')

var db = require('knex')({
  client: 'pg',connection: {
    host : '127.0.0.1',user : '',password : '',database : 'my-database'
  }
});

const main = require('./controllers/main')

const app = express()

const whitelist = ['http://localhost:3001']
const corsOptions = {
  origin: function (origin,callback) {
    if (whitelist.indexOf(origin) !== -1 || !origin) {
      callback(null,true)
    } else {
      callback(new Error('Not allowed by CORS'))
    }
  }
}
app.use(helmet())
app.use(cors(corsOptions))
app.use(bodyParser.json())
app.use(morgan('combined'))

app.get('/',(req,res) => res.send('hello world'))
app.get('/crud',res) => main.getTableData(req,res,db))
app.put('/crud',res) => main.putTableData(req,db))

app.listen(process.env.PORT || 3000,() => {
  console.log(`app is running on port ${process.env.PORT || 3000}`)
})

我错过了一步吗?我应该在哪里看?

解决方法

PSequel再次告诉我它不存在...

您的数据库启动了吗?如果您无法在没有节点的情况下直接连接它,那么此问题与应用程序的JS部分无关。