Вызов MSSQL процедур через NodeJS

Для прямого запроса к базе данных в NodeJS доступна библиотека mssql

// https://github.com/tediousjs/node-mssql
npm install mssql

Далее формируем config для подключения к БД:

const config = {
    user: 'логин',
    password: 'пароль',
    server: 'dbsrv\\sql2017',
    database: 'MobileService',
    options: {
        enableArithAbort: false
    }
}

Пример выполнения процедуры:

const sql = require('mssql');
sql.connect(config, function (err) {
    var request = new sql.Request();
    request.input('User', '5B26F42C-C6E7-4B92-AFED-972EAB0B095A')
        .input('Date', '02-07-2020')
        .execute('[dbo].[UI_Get_Statistics_By_User]', (err, result) => {
            if (!err) {
                var items = result.recordset;
                console.log(items);
            } else {
                console.error(err);
            }
            sql.close();
        });
});

Распределение нагрузки в IIS для NodeJS

Главная проблема javascript это то что он однопоточный. Эта же проблема есть и в приложения написанных на NodeJS.

Итак нам понадобится:

  • виртуальная машина с Windows Server 2012 или выше
  • установленная IIS
  • приложение на NodeJS (в примере будет использоваться фреймворк Express)
  • и «магия»

Инструкцию по установке Windows и настройке IIS описывать не буду, это можно найти в интернете. Приступаем сразу к запуску NodeJS приложения.

Читать далее «Распределение нагрузки в IIS для NodeJS»

Создание печатной формы в Pentaho Report Designer

Создание печатной формы в Pentaho Report Designer – Open Source дизайнере отчетов. Для примера взята форма отчета «Отчет о кредитах, выданных нерезидентам (форма 17-ПБ)», который банки Казахстана сдают в Национальный банк, в рамках регуляторной отчетности.

https://sanatel.kz/paper_pentaho_report_designer.htm

Повышение производительности PostgreSQL после настройки параметров

Многие думают, что изменение параметров в postgresql.conf — это реальный путь к успеху. Однако это не всегда так. Конечно, чаще всего хорошие параметры конфигурации базы данных очень полезны. Тем не менее, во многих случаях реальные проблемы будут возникать из-за странного запроса, скрытого глубоко в некоторой логике приложения. Даже вполне вероятно, что запросы, вызывающие реальные проблемы, не являются теми, на которые вы обратили внимание. Возникает естественный вопрос: как мы можем отследить эти запросы и выяснить, что на самом деле происходит? Мой любимый инструмент для этого — pg_stat_statements, который всегда должен быть включен по моему мнению, если вы используете PostgreSQL 9.2 или выше (пожалуйста, не используйте его в более старых версиях).
 

Читать далее «Повышение производительности PostgreSQL после настройки параметров»

Autostarting Pentaho Server with systemd

[Unit]
Description=Pentho Bi-server
After=syslog.target
After=network.target [Service]
Type=forking
User=<username>
Group=<group>
Environment=JAVA_HOME
ExecStart=/opt/Pentaho/pentaho-server/start-pentaho.sh
ExecStartPost=/bin/echo pentaho...end of unitfile
ExecStop=/opt/Pentaho/pentaho-server/stop-pentaho.sh
TimeoutSec=300
 
[Install]
WantedBy=graphical.target

https://medium.com/mindninja/autostarting-pentaho-server-with-systemd-23a31d664b0e

Потоковая репликация в PostgreSql 10

Для реализации потоковой репликации требуется наличие, как минимума 2-х серверов:

  • Имя мастера: master-db / IP 192.168.0.1
  • Имя слейва: slave-db / IP 192.168.0.2

Устанавливаем на каждый сервер postgresql:

sudo apt-get update 
sudo apt-get install postgresql postgresql-contrib 

Устанавливаем дополнения:

sudo apt-get install postgis  sudo apt install postgresql-10-postgis-scripts sudo apt install postgresql-plv8 sudo apt install nodejs npm 

Настраиваем мастер

Создаем пользователя для репликации:

sudo su postgres #В этот момент мы авторизовываемся под пользователем postgres 
psql 
postgres=# CREATE USER replica REPLICATION LOGIN CONNECTION LIMIT 2 PASSWORD 'qwe-123'; 
\q 
Читать далее «Потоковая репликация в PostgreSql 10»

Интеграция PostgreSQL с MS SQL Server

Чтобы можно было локально тестировать механизм интеграции лучше установить MSSQL Server Express

Внимание!!! Если сервер будет не виден, то нужно запустить «Обозреватель» — см. службу

Устанавливаем необходимые библиотеки для PostgreSQL 10

  • sudo apt-get install freetds-dev freetds-common

Далее собираем расширение:

git clone https://github.com/tds-fdw/tds_fdw.git 
cd tds_fdw 
make USE_PGXS=1 install 
Читать далее «Интеграция PostgreSQL с MS SQL Server»