Шпаргалка по Postgresql

Собрал для себя запросы которые мне были нужны в то или иное время — источник — интернет.

 

Аналог GROUP_CONCAT

 

Удаление миллисекунд у now()

 

Статистика по индексам
Список по индексам: сколько записей из индекса были возвращены в запросах по этому индексу; сколько рядов при этом все же пришлось просматривать в родительской таблице; отношение этих двух чисел. Суть данной статистики проста: если у вас много fetch-ей, значит индекс устарел и при выполнении запроса PostgreSQL вынужден смотреть непосредственно в таблицу, как в источник самых актуальных данных, что замедляет его работу. В этом случае необходимо перестроить данный индекс, чтобы он соответствовал реальным данным в таблице.

 

Список текущих блокировок
Список текущих блокировок с указанием типа блокировки, таблицы и базы данных, на которой она выставлена и номера транзакции, которая выставила блокировку. Не стоит пугаться, если запрос выдает длинный список lock-ов — не все они являются критическими и блокирующими таблицу от всех возможных изменений и даже чтения. Для анализа списка блокировок обязательно стоит ознакомиться с документацией об их типах в PostgreSQL и о том, когда и какими запросами они выставляются. Один из распространенных случаев, когда список блокировок может пригодиться: выполняя команду ps aux | grep ^postgres вы видите, что в статусе одного из процессов postgres-а написано waiting — это как раз и означает, что данный процесс ждет, когда будет снята нужная ему блокировка. Какая именно — выясняйте, запустив данный запрос.

 

Выполняющиеся запросы с их продолжительностью
Простой список выполняющихся сервером в настоящий момент запросов. Бывает полезен, когда вы недостаточно хорошо знаете систему или просто не успели ее настроить — с его помощью можно найти и прервать «плохой» запрос, который мешает работе сервера (колонка procpid содержит PID процесса, которому можно сделать kill при необходимости).

Фикс Ctrl+C Ctrl+V для PhpStorm в Ubuntu

Всё время я всегда сидел за Windows, но сменив пол года назад работу мне пришлось пересесть на работе на Ubuntu. Для программирования это открыло море новых возможностей и удобств. Но длительное время было 2 вещи которые меня очень сильно раздражали и даже временами очень бесило.

— не работали шорт-каты если включена русская локаль в PhpStorm
— и, боже, какие убогие шрифты(после Windows) в Ubuntu везде и в браузерах и в редакторе.

Про то как решить первую проблему я и пишу эту статью.

Если кратко то вот ссылка:

https://github.com/zheludkovm/LinuxJavaFixes

Если по подробнее:

— скачать архив;
— разархивировать;- переместить LinuxJavaFixes-1.0.0-SNAPSHOT.jar и javassist-3.12.1.GA.jar в папку bin PHPStorm
— в phpstorm64.vmoptions дописать( или заменить если такая опция уже есть) -javaagent:<full path to LinuxJavaFixes-1.0.0-SNAPSHOT.jar>

Всё, теперь всё будет хорошо работать.

[Debian] Apt-get : NO_PUBKEY / GPG error

При появлении похожей ошибки в консоли при выполнении apt-get update необходимо выполнить:

Ubuntu

Debian

где <KEY ID> публичный ключ который вам не доступен

Forever cannot find process with id

Если Forever  при запуске выдаёт похожую ошибку, то скорее всего дело в баге одной из версий:

https://github.com/nodejitsu/forever/issues/636

Решение — запускать не по названию файла а по uid, например так:

Это баг, и его вроде уже пофиксили, но я теперь так запускаю всегда, от греха.

Ну и логи теперь будут красиво называться worker_1.log

All StarWars books

На просторах интернета нашёл очень интересную страницу:

http://www.hungry-ewok.ru/sw/all_books.htm
Все книги вселенной Звездных войн отсортированные по хронологии, много на русском языке, в различных форматах, с возможностью скачать!

jQuery Validation Plugin — filesize validate

Для того что бы на стороне клиента валидировать размер загружаемых файлов, нужно:

1 — Плагин для JQuery — jQuery Validation Plugin  — http://jqueryvalidation.org

2 — В файл jquery.validate.min.js или любой другой добавить код:

3 — Теперь можно использовать правило валидации

Для input с name=files[] разрешено загружать в сумме не больше 8 мегабайт файлов.

Работает как с одиночным так и с multiple file полем.

Google Analytics — удаление профиля сайта

Будьте осторожны при удалении старый профилей от сайтов — всегда просматривайте список администраторов профиля. Т.к. может получиться так, что вы удалите чей-то аккаунт, который кому то ещё нужен. Т.к. он удалиться безвозвратно и для всех администраторов. Не только у вас.

Если вы всё же удалили, попытайтесь написать в тех. поддержку — может быть есть шанс восстановить( я не верю что они действительно всю информацию удаляют) — но по тем статьям которые я находил — ни у кого не получилось.