通过 Sequelize 获取 Postgres 数据库统计信息
Get Postgres Database Statistics via Sequelize
有一个数据库,我需要从中监控统计信息。
dbhandler.js
const Sequelize = require('sequelize');
const sequelize = new Sequelize(DBURL, {
dialect : 'postgres',
pool: {
max: 5,
min: 0,
idle: 1
}
});
我正在通过节点应用程序在此数据库中执行 CRUD。一个例子:
osmetrics.js
const osutils = require('os-utils');
const osu = require('node-os-utils');
const Sequelize = require('sequelize');
const Op = Sequelize.Op;
const cpu = osu.cpu;
const dbMethods = require('../api/dbhandler');
const selectOsMetrics = async (limiter) => {
const data = await dbMethods.osModel.findAll({limit: limiter, raw: true});
let os_JSONlogs = { "success":true , "message":`Last ${limiter} records in database` };
let arrayLogs = [];
for(let entry of data)
{
arrayLogs.push(entry);
}
os_JSONlogs.data = arrayLogs;
return os_JSONlogs;
};
而且效果很好。
在 PGAdmin4 上,我可以看到有可用的统计信息 table。 "Database" => "Statistics" 选项卡。
我想在节点应用程序中获取统计信息,可能是通过 sequelize 实例的方法,但我愿意接受任何解决方案。
如果它对我在以下要点中发现有用的 pg stat 查询的任何人有所帮助:
https://gist.github.com/anvk/475c22cbca1edc5ce94546c871460fdd
有一个数据库,我需要从中监控统计信息。
dbhandler.js
const Sequelize = require('sequelize');
const sequelize = new Sequelize(DBURL, {
dialect : 'postgres',
pool: {
max: 5,
min: 0,
idle: 1
}
});
我正在通过节点应用程序在此数据库中执行 CRUD。一个例子:
osmetrics.js
const osutils = require('os-utils');
const osu = require('node-os-utils');
const Sequelize = require('sequelize');
const Op = Sequelize.Op;
const cpu = osu.cpu;
const dbMethods = require('../api/dbhandler');
const selectOsMetrics = async (limiter) => {
const data = await dbMethods.osModel.findAll({limit: limiter, raw: true});
let os_JSONlogs = { "success":true , "message":`Last ${limiter} records in database` };
let arrayLogs = [];
for(let entry of data)
{
arrayLogs.push(entry);
}
os_JSONlogs.data = arrayLogs;
return os_JSONlogs;
};
而且效果很好。
在 PGAdmin4 上,我可以看到有可用的统计信息 table。 "Database" => "Statistics" 选项卡。
我想在节点应用程序中获取统计信息,可能是通过 sequelize 实例的方法,但我愿意接受任何解决方案。
如果它对我在以下要点中发现有用的 pg stat 查询的任何人有所帮助: https://gist.github.com/anvk/475c22cbca1edc5ce94546c871460fdd