Полезные мелочи PostgreSQL

Работа с JSON/JSONB

Формирование одного JSONB-объекта из двух столбцов, в одном из которых ключи, а в другом — значения, с группировкой по общему полю

Допустим, у нас есть таблица props в которой есть поля id, group_id, key, value, где group_id — поле, по которому значения группируются. И мы хотим выбрать для каждой группы json-объект со всеми значениями key:value:

select      
group_id,
jsonb_object(array_agg("key"), array_agg("value")) as tags
from
props
group by
group_id

Получение данных из Sentry (своей локальной инсталляции)

  1. Нужно выяснить ID своего проекта
  2. Выполнить следующий запрос, подставив вместо «40» номер проекта (ID):
with params as (
select
40 as project_id
),
dat as (
select
sm.id,
datetime,
sgm.message,
sgm.view,
sm.group_id,
jsonb_object(array_agg(fv."key"), array_agg(fv."value")) as tags
from
sentry_message as sm,
sentry_groupedmessage as sgm,
sentry_eventtag as et,
sentry_filtervalue as fv
where
fv.id = et.value_id
and
et.event_id = sm.id
and
sm.project_id = (select project_id from params)
and
sgm.id = sm.group_id
group by sm.id, datetime, sgm.message, sgm.view, sm.group_id
)
select * from dat


Спам-аккаунты Skype

Здесь будут собираться логины Skype используемые для рассылки спама.
Аккаунты либо специально созданы для этого, либо украдены у пользователей.
Как правило по таким аккакунтам ничего не найти в интернете, возможно данная страница поможет кому-то быстро убедиться в том, что какой-то аккаунт является спамерским.

Если кто встретит спам-аккаунт в скайпе, можете присылать в кометарии (или на почту mail@mihanentalpo.me), также, если ваш скайп добавлен сюда по ошибке, либо его у вас угнали, воспользовались для рассылки спама, а вы его сумели вернуть обратно — также сообщайте.

Skype: live:19a93a741f230809 — реклама спам-рассылок в вайбере, вотсапе и по email
Skype: yastoboy — просит занять денег
Skype: bretbretzelle — лохотрон «Вы являетесь одним из 100 пользователей, которых мы выбрали, чтобы предоставить шанс получить: iPhone X»
Skype: miguelhaas — лохотрон «Здравствуй! Используем возможность пока работает…Слышали ли вы о этом сайте: http://……. нашли его несколько дней назад, оказалось он действительно работает. Никаких приглашений, обмана и прочей ерунды.»
Skype: xoxo.domi13162 — замануха на лохотрон «Привет! Все еще проводится опрос от крупных международных компаний, не знаю сколько еще продлится этот аттракцион щедрости… впервые выжу такое в интернете http://……/…../ Организаторы оказали мне огромную помощь выплатив за ответы на вопросы спонсоров»


Установка Redmine + Nginx + Thin на Debian 9 Stretch

Эта заметка по большей части копирует мои же заметки об установке redmine в Debian Jessie и Debian Wheezy, за некоторыми исключениями.
По большей части потому, что с выходом Debian Stretch успела обновиться версия Redmine, да и сам Debian тоже.

Устанавливать будем Redmine в виртуальной машине на хостинге DigitalOcean под управлением ОС Debian GNU/Linux 9 Stretch, а также, дополним его парой полезных «в хозяйстве» плагинов и тем оформления.

В интернете масса инструкций об установке редмайна в Debian. Однако с ними всеми возникают какие-то проблемы. Связанные то с различием в версиях Redmine (между той, которую пытаешься установить и той, о которой написан мануал), то с недостатком в системе пакетов, которые были у писателя мануала, и он просто не обратил на них внимания, то с неправильной фазой луны…
Моя предыдущая инструкция — не исключение, попытавшись провернуть её в Debian Jessie я сам же наткнулся на проблемы в настройке сервера Apache.

Обойдёмся без длинного предисловия, объясняющего, почему будем ставить redmine с нуля, а не пользоваться готовым образом, предоставляемым DigitalOcean, я это уже писал 🙂

В ходе этой установки я пользовался официальными мануалами с сайта redmine.org.


Кстати, если у вас нет аккаунта в DigitalOcean вы можете создать его и получить 10 долларов если пройдёте по этой реф-ссылке: https://www.digitalocean.com/?refcode=e5a7f5c338ab

Читать далее


Интерфейс Zabbix на базе Nginx + php-fpm в Debian Stretch

Система мониторинга Zabbix, а точнее, её веб-интерфейс идёт в комплекте с конфигурационным файлом для веб-сервера Apache.
Для Nginx же в интернете есть множество инструкций, ни одна из которых полноценно у меня не завелась.
В связи с этим была разработана своя конфигурация Nginx, которой я здесь и поделюсь.
Читать далее


Датчик положения GY-88 + SD-кардридер + Arduino = Полётный компьютер

Купив по дешёвке несколько датчиков для Arduino, я стал придумывать куда их приспособить, и решил создать бортовой компьютер для водяной ракеты, который бы измерял параметры полёта, такие как: ускорение, скорость, высота подъёма, и мог бы в верхней точке траектории дать команду на выпуск парашюта. Также, желательно было иметь возможность после посадки ракеты прочитать «чёрный ящик» и узнать, с каким ускорением она взлетала, как быстро набрала максимальную скорость, и какой была высота взлёта. Если же парашют не раскроется — чёрный ящик помог бы узнать, с какой скоростью ракета врезается в землю 🙂

Читать далее


Выжмем всё из домашнего сервера — Часть 2

Настройка DLNA-сервера

Это вторая из статей, посвящённых настройке домашнего сервера для извлечения из него максимальной пользы.

Первая часть, где описывалась первичная настройка ПК доступна по ссылке, и если вы её не видели, то рекомендую ознакомиться, так как данная часть опирается на неё.

Полный список статей можно увидеть по ссылке

Читать далее


Выжмем всё из домашнего сервера — Часть 1

Подготовка и первичная настройка ПК, конфигурирование сервера Samba для создания сетевого хранилища.

Это первая из статей, посвящённых настройке домашнего сервера для извлечения из него максимальной пользы.

Полный список статей можно увидеть по ссылке

Для начала определимся с оборудованием, после чего установим операционную систему, и настроим сервер Samba.

Читать далее


Выжмем всё из домашнего сервера — Оглавление

У многих есть старый ПК, давно уже не самый мощный, но всё ещё рабочий, которому не находится применения.

Как же вам может послужить старый ПК, если в него добавить пару жёстких дисков и установить Linux?
1. Сетевое файловое хранилище — сетевая папка большого размера, доступная на высокой скорости
2. DLNA-сервер, позволяющий транслировать видео и аудио контент на множество устройств — телевизоры, планшеты, телефоны, ноутбуки, всё, где есть DLNA-плейер.
3. Сервер резервного копирования который будет регулярно копировать данные с ваших рабочих компьютера.
4. Сервер ownCloud — собственное облако, аналог Яндекс.Диска или Google.Drive, с той разницей, что данные будут храниться лично у вас на ПК, а не в data-центрах корпораций.

Читать далее


Использование планшета в качестве дополнительного монитора в Linux

Есть большой планшет, который хочется применить с пользой при работе за ПК?
Не хватает размера монитора, новый купить жаба не позволяет, но есть планшет?
Просто хочется пользоваться месенджером (например) с планшета, но все действия выполнять клавиатурой и мышкой?
И при всём этом у вас Linux? (Для Windows есть приложение iDisplay)

Тогда эта статья для вас.

Пример такого расширения экрана можно увидеть на данном плохоньком видео:

Читать далее


Скрытие рекламных постов в vk.com

Как сделать чтобы рекламные посты вконтакте скрывались? К счастью, администрация vk.com помогла нам в этом — на всех рекламных постах сейчас есть соответствующая надпись (в нижней части). Осталось написать скрипт, который, пользуясь этой надписью, будет удалять рекламные посты в ленте новостей.

Читать далее


Страницы:12345