节点到数据库冻结的连接"/>
Pg节点到数据库冻结的连接
我与从节点pg(VPS debian 10)到Postgress的连接有问题。
在我的项目中,我有一个带有查询助手的文件
/ db / index.js
const { Pool } = require('pg');
const config = require('../config');
const pool = new Pool(config.devConfig);
pool.connect((err) => {
if (err) {
console.error('connection error', err.stack);
} else {
console.log('db connected');
}
});
module.exports = {
query: (text, params) => pool.query(text, params),
};
而且我将此查询用于所有这样的路由
const db = require('../db');
const errorResult = require('../services/errorsHandling');
const validation = require('../services/validation');
const getAllBrands = async (req, res) => {
try {
const { rows: brands } = await db.query(`SELECT * FROM public.brands`);
res.render('adminBrand', {
brands,
baseUrl: req.baseUrl,
msgPageName: '-',
msgWithoutBrands: '-',
msgAddBrand: '-',
});
} catch (error) {
errorResult(res, error);
}
};
在我的本地计算机上,一切都很好。但是在VPS上却没有。在VPS上,我有一些设置,例如
postgresql.conf
listen_addresses = '*' # what IP address(es) to listen on;
和pg_hba.conf
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
host all all localhost trust
我的git仓库
在我的VPS上启动npm运行后,我也看不到任何错误,并且还'连接了数据库'但是在我的本地计算机上,如果我尝试从我的本地计算机连接到VPS数据库,一切正常,我可以看到“数据库已连接”。
打开端口3000、4000、5432。
回答如下:[您缺少VPS
中的.env文件。看起来您已经在本地计算机上正确配置了所有内容,但是缺少应用程序根目录(在VPS中)的.env
文件。
还要将正确的数据库配置从您的vps放入服务器中的.env文件。
更多推荐
Pg节点到数据库冻结的连接
发布评论