Набор полезных команд для PostgreSQL
Просмотр текущих запросов в БД
Исследуем блокировки в PostgreSQL
Просмотр текущих запросов в БД
\xПроверка статуса репликации на мастере
select * from pg_stat_activity;
select * from pg_stat_replication;Проверка статуса репликации на реплике
select * from pg_stat_wal_receiver;Посмотреть привилегии для пользователя
SELECT grantor, grantee, table_schema, table_name, privilege_typeПроверка лага репликации (выполнять только на реплике)
FROM information_schema.table_privileges
WHERE grantee = 'username';
select now() - pg_last_xact_replay_timestamp() AS replication_delay;Получить список блокировок Lock_Monitoring
select relation::regclass, * from pg_locks where not granted;Создать представление lock_monitor для просмотра списка блокировок
Исследуем блокировки в PostgreSQL
create view lock_monitor as (Получить блокировки из представления lock_monitor
select
coalesce(bgl.relation::regclass::text, bgl.locktype) as locked_item,
now() - bda.query_start as waiting_duration,
bda.pid as blocked_pid,
bda.query as blocked_query,
bdl.mode as blocked_mode,
bga.pid as blocking_pid,
bga.query as blocking_query,
bgl.mode as blocking_mode
from pg_catalog.pg_locks bdl
join pg_stat_activity bda
on bda.pid = bdl.pid
join pg_catalog.pg_locks bgl
on bgl.pid != bdl.pid
and (bgl.transactionid = bdl.transactionid
or bgl.relation = bdl.relation and bgl.locktype = bdl.locktype)
join pg_stat_activity bga
on bga.pid = bgl.pid
and bga.datid = bda.datid
where not bdl.granted
and bga.datname = current_database()
);
select * from lock_monitor;Завершить запрос (gracefully)
SELECT pg_cancel_backend(PID);Завершить процесс (non-gracefully)
SELECT pg_terminate_backend(PID);Перечитать файлы конфигурации PostgreSQL
SELECT pg_reload_conf();Получить текущий уровень изоляции транзакций в БД
SELECT current_setting('transaction_isolation');
Прибить все локи в БДDO $$
DECLARE
r RECORD;
BEGIN
FOR r IN
SELECT blocking_pid FROM lock_monitor
LOOP
EXECUTE 'SELECT pg_terminate_backend('|| r.blocking_pid ||')';
END LOOP;
END $$;Блог Александра Журавлёва
Исследуем блокировки в PostgreSQL
С 1 по 3 марта пройдет бесплатная конференция PGConf 2021 https://pgconf.ru/2021
Программа конференции https://pgconf.ru/2021/program
Советую посмотреть хотя бы несколько выступлений
Программа конференции https://pgconf.ru/2021/program
Советую посмотреть хотя бы несколько выступлений
pgconf.ru
PGConf.Online 2021 | PGConf.Russia
В программе PCConf.Online 2021 вас ждут доклады в три тематических потока от ведущих экспертов.Postgres на предприятииМасштабируемостьВысокие нагрузки и очень большие базы данныхДевопсПереход на Postgres 1CПространственные данные и PostGISОптимизация за…
NPM-пакет с Prometheus-экспортером для PM2. Дашборда для Grafana в github-репе (почти готовая, надо допиливать)
https://www.npmjs.com/package/pm2-metrics
https://github.com/saikatharryc/pm2-prometheus-exporter
Если запускаете в докере, то лучше ставить через
и привести
Пример файла
https://www.npmjs.com/package/pm2-metrics
https://github.com/saikatharryc/pm2-prometheus-exporter
Если запускаете в докере, то лучше ставить через
npm install или добавить пакет в package.jsonи привести
ecosystem.config.js к виду, пригодному для запуска 2-х приложений.Пример файла
module.exports = {
apps: [
{
name: 'Your App',
script: 'app',
args: 'start',
exec_mode: 'cluster',
watch: false,
},
{
name: 'PM2 Exporter',
script: './node_modules/pm2-metrics/exporter.js',
instances: '1',
exec_mode: 'fork',
autorestart: true,
watch: false,
max_memory_restart: '100M',
env: {
NODE_ENV: 'production',
},
},
],
};Ansible 4.0.0 final has been released!
https://groups.google.com/g/ansible-devel/c/AeF2En1RGI8
https://groups.google.com/g/ansible-devel/c/AeF2En1RGI8
Без лишней суеты и шума 21 мая вышел релиз Sublime Text 4
https://www.sublimetext.com/blog/articles/sublime-text-4
https://www.sublimetext.com/blog/articles/sublime-text-4
Sublimetext
Sublime Text 4
Meet the new Sublime Text - it's faster and smarter than ever with hardware acceleration, Apple silicon support, and more!
Отстрелило пакетный репозиторий python pypi.org.
https://status.python.org/
https://status.fastly.com/
https://status.python.org/
https://status.fastly.com/
CDN Performance ImpactSubscribe
Investigating - We're currently investigating potential impact to performance with our CDN services.
Jun 8, 09:58 UTC
status.python.org
Python Infrastructure Status
Welcome to Python Infrastructure's home for real-time and historical data on system performance.
Не могу не поделиться этим шедевром)
https://youtu.be/FtOAALNAhik
https://youtu.be/FtOAALNAhik
C новой мажорной версией гитлаба 💥💥💥
https://about.gitlab.com/releases/2021/06/22/gitlab-14-0-released/
https://about.gitlab.com/releases/2021/06/22/gitlab-14-0-released/
GitLab
GitLab 14.0 released with a celebration of GitLab 14
Как жить с распухающим PostgreSQL и не сойти с ума.
https://habr.com/ru/company/miro/blog/499444/
https://habr.com/ru/company/miro/blog/499444/
Хабр
Postgres: bloat, pg_repack и deferred constraints
Эффект раздувания таблиц и индексов (bloat) широко известен и присутствует не только в Postgres. Есть способы борьбы с ним “из коробки” вроде VACUUM FULL или CLUSTER, но они блокируют таблицы...
Большая конференция Yandex.Cloud, где бизнес и технологии говорят на одном языке.
К сожалению, пока списка докладов нет.
https://scale.yandex.ru/
К сожалению, пока списка докладов нет.
https://scale.yandex.ru/
scale.yandex.cloud
Yandex Neuro Scale 2025 | 24 сентября | Москва и онлайн
Большая конференция Yandex Cloud для тех, кто создаёт цифровые продукты и решения. 7 тематических треков, 50+ выступлений и более 13 000 участников.
Hetzner начинает двигаться по пути облачного провайдера и на днях анонсировал Hetzner Cloud Apps.
Это набор Linux-дистрибутивов с предустановленным ПО. На текущий момент это Big Blue Button, Docker, Gitlab, Jitsi, LAMP, NextCloud и WordPress.
Все это сделано с использованием средства сборки образов Packer и пакета cloud-init.
Ссылка на репозиторий - https://github.com/hetznercloud/apps
Это набор Linux-дистрибутивов с предустановленным ПО. На текущий момент это Big Blue Button, Docker, Gitlab, Jitsi, LAMP, NextCloud и WordPress.
Все это сделано с использованием средства сборки образов Packer и пакета cloud-init.
Ссылка на репозиторий - https://github.com/hetznercloud/apps
GitHub
GitHub - hetznercloud/apps: Hetzner Cloud Apps
Hetzner Cloud Apps. Contribute to hetznercloud/apps development by creating an account on GitHub.