Получить статистику базы данных Postgres через Sequelize - PullRequest
0 голосов
/ 06 ноября 2019

Есть база данных, из которой мне нужно отслеживать статистику.

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 голосов
/ 07 ноября 2019

В случае, если это кому-нибудь поможет, я нашел полезные pg stat запросы в следующей сущности: https://gist.github.com/anvk/475c22cbca1edc5ce94546c871460fdd

...