通过 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