0
我有一個NodeJS應用程序,我使用Sequelize連接到Postgres數據庫;在我的開發者版本中一切正常,但是在我的生產版本中,從兩臺機器做了一些調用之後得到以下錯誤SequelizeConnectionError: FATAL: remaining connection slots are reserved for non-replication superuser connections.
在很多問題中說解決方案是增加我數據庫中的max_connections;實際上有100這個參數,但我不知道這是否是問題。SequelizeConnectionError:FATAL:其餘連接槽保留給非複製超級用戶連接
問題出在sequelize配置中,也許我手動關閉了連接?
這裏是我的config.json文件
{
"development": {
"username": "pys-form",
"password": "pys-form",
"database": "PYS-FORM-COL",
"host": "127.0.0.1",
"dialect": "postgres"
},
"production": {
"username": "pys-form",
"password": "pys-form",
"database": "PYS-FORM-COL",
"host": "190.60.234.132",
"dialect": "postgres"
}
}
index.js文件
var fs = require("fs");
var path = require("path");
var Sequelize = require("sequelize");
var env = process.env.NODE_ENV || "production";
var config = require(__dirname + '/../config/config.json')[env];
var sequelize = new Sequelize(config.database, config.username, config.password, config);
var db = {};
fs
.readdirSync(__dirname)
.filter(function(file) {
return (file.indexOf(".") !== 0) && (file !== "index.js");
})
.forEach(function(file) {
var model = sequelize.import(path.join(__dirname, file));
db[model.name] = model;
});
Object.keys(db).forEach(function(modelName) {
if ("associate" in db[modelName]) {
db[modelName].associate(db);
}
});
db.sequelize = sequelize;
db.Sequelize = Sequelize;
module.exports = db;
嗨@Adam感謝您的回答,我懷疑同該連接不會關閉,但數據庫是Ubuntu的服務器沒有GUI如何可以檢查在psql中? – oriaj
我已經更新了我的答案,因此您可以使用簡單的SQL檢查連接。 – Adam