Задача
Необходимо найти долговыполняющиеся запросы к базе данных.
Решение
Необходимо включить вывод в лог запросов, длительность которых больше заданной длительности.
Читать далее «Поиск медленных запросов»Рассказываю сложные вещи простыми словами
Необходимо найти долговыполняющиеся запросы к базе данных.
Необходимо включить вывод в лог запросов, длительность которых больше заданной длительности.
Читать далее «Поиск медленных запросов»In the examples below, [tablename] is optional. Without a table specified, VACUUM will be run on available tables in the current schema that the user has access to.
VACUUM [tablename]
/* Before Postgres 9.0: */ VACUUM FULL /* Postgres 9.0+: */ VACUUM(FULL) [tablename]
/* Before Postgres 9.0: */ VACUUM FULL ANALYZE [tablename] /* Postgres 9.0+: */ VACUUM(FULL, ANALYZE) [tablename]
/* Before Postgres 9.0: */ VACUUM FULL VERBOSE ANALYZE [tablename] /* Postgres 9.0+: */ VACUUM(FULL, ANALYZE, VERBOSE) [tablename]Читать далее «Обслуживание PostgreSql»
Все сервера должны быть в одном часовом поясе и настроить их можно по инструкциям ниже:
Далее в nodejs нужно добавить код для преобразования даты:
var moment = require('moment');
...
Date.prototype.toJSON = function () { return moment(this).format('YYYY-MM-DDTHH:mm:ss.SSSZZ'); }
sudo apt-get --purge remove postgresqldpkg -l | grep postgressudo apt-get --purge remove postgresql postgresql-doc postgresql-client-common
https://askubuntu.com/questions/32730/how-to-remove-postgres-from-my-installation
Подключаемся под postgres
sudo su - postgres

В systemd есть своя утилита для настройки даты и часового пояса. Чтобы узнать текущее состояние выполните:
timedatectl status

Для просмотра всех доступных временных зон выполните такую команду:
Читать далее «Настройка временной зоны на Ubuntu 18»Для документирование базы данных применяется открытое решение Autodoc.
Инструкция по установке и настройке на сайте appcode.pw
Основной скрипт для запуска генерации документации.
cd autodoc postgresql_autodoc -d cic-dev-db -h 192.168.17.111 -u postgres --password=<pw> -t html -s "core|dbo" -f /var/www/html/cic-dev-db
Демонстрационный вариант документации можно посмотреть на сайте http://cic.it-serv.ru/cic-dev-db.html
Ставим приложение autodoc
$ sudo apt install libdbi-perl libhtml-template-perl libterm-readkey-perl libdbd-pg-perl$ git clone https://github.com/cbbrowne/autodoc.git$ cd autodoc$ sudo make install
Дальше запускаем скрипт
postgresql_autodoc -d cic-dev-db -h 192.168.17.111 -u postgres --password -t html -s core -f cic-dev-db-core
Примечание: схемы можно передать как
-s "core|dbo"
Исходный код: https://github.com/cbbrowne/autodoc
UPDATE dummySET customer=subquery.customer,address=subquery.address,partn=subquery.partnFROM (SELECT address_id, customer, address, partn FROM /* big hairy SQL */ ...) AS subqueryWHERE dummy.address_id=subquery.address_id;
UPDATE table T1SET column1 = T2.column1FROMtable T2INNER JOIN table T3 USING (column2)WHERE T1.column2 = T2.column2;
https://stackoverflow.com/questions/6256610/updating-table-rows-in-postgres-using-subquery