通过Sequelize获取Postgres数据库统计信息

时间:2019-11-06 10:49:30

标签: node.js postgresql sequelize.js monitoring

有一个数据库,我需要从该数据库监视统计信息。

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上,我可以看到有可用的统计信息表。 “数据库” =>“统计信息”标签。

我希望可以通过sequelize实例的方法在节点应用程序中获取统计信息,但是我愿意接受任何解决方案。

1 个答案:

答案 0 :(得分:0)

以防万一我在以下要点中找到有用的pg stat查询的人: https://gist.github.com/anvk/475c22cbca1edc5ce94546c871460fdd