Динамический SQL и NDS команды PL/SQL на примерах

Пожалуй, написание динамических команд SQL и динамических программ PL/SQL было самым интересным делом из всего, что я когда-либо делал на языке PL/SQL. Конструирование и динамическое выполнение обеспечивает невероятную гибкость. У разработчика появляется возможность создавать обобщенный код с широким спек­тром применения.

MERGE в POstgreSql, эскиз

Oracle statement:
 
 
 
MERGE INTO acme_obj_value d
USING ( SELECT object_id
        FROM   acme_state_tmp
      ) s
ON (d.object_id = s.object_id)
  WHEN matched THEN
    UPDATE SET d.date_value = LEAST(l_dt, d.date_value)
  WHEN NOT matched THEN
    INSERT (d.id, d.object_id, d.date_value)
    VALUES (acme_param_sequence.NEXTVAL, s.object_id, l_dt)
 
 
PostgreSQL statement:
 

Бэкапирование (логическое) кластера баз

Первая часть - скрипты на бекапирование всех рабочих кластеров баз, которые есть в эксплуатации.

Вторая - бекапирование конфигурационных файлов.

Barman

PostgreSQL поддерживает возможности физического и логического бэкапа, добавляя к ним еще один уровень WAL (см. врезку), который можно назвать непрерывным копированием.

Чем мониторить postgresql online

Grafana, подключение к Zabbix Server           http://ithelp21.ru/ustanovka-grafana-podklyutchenie-k-zabbix-server/
 
 
 
1. настраиваем brubeck + graphite + grafana
2. пишем крон или демон который раз в минуту или n-секунд забирает данные из pg_stat_* и pg_statio_* и скидывает в brubeck
3. настраиваем dashboards в графане
 

Prometheus

Step 1 — Installing Prometheus Server

First, create a new directory to store all the files you download in this tutorial and move to it.

Установка patroni

yum install -y https://centos7.iuscommunity.org/ius-release.rpm
yum update
yum install  -y epel-release
yum upgrade

установка, настройка и синхронизация времени в CentOS

Итак, у нас им

pgbadger

log_min_duration_statement = 0
log_line_prefix = '%t [%p]: [%l-1] ' или '%t [%p]: [%l-1] user=%u,db=%d,client=%h '
log_checkpoints = on
log_connections = on
log_disconnections = on
log_lock_waits = on
log_temp_files = 0
log_autovacuum_min_duration = 0
lc_messages='C'
log_duration = on
log_statement = all
log_destination = stderr
 

Установка PostgreSQL 9.6

В CentOS 7, по умолчанию, достуна версия postgres 9.2.

Страницы

Подписка на материализация идей RSS