PostgreSQL — создание бэкапов с Barman

Недавно вышло обновление интересной программы для бэкапирования PostgreSQL серверов — Barman. Barman (Backup and Recovery Manager) представляет из себя программу (для Linux/Unix), управляющую получением резервных копий (с помощью WAL) и восстановлением серверов. Работает примерно так же, как репликация в pg9 (но не она, и поддерживается PostgreSQL 8.4+), то есть можно было бы тривиальным скриптом получить […]

Sentry + Raven.js = централизованные логи для javascript

Sentry

What is Sentry?

Sentry is an event logging system which excels at handling application error reporting. It however, should not be seen as a replacement for standard logging, but a complimentary tool for your infrastructure.

Raven.js

This is a JavaScript client for the Sentry realtime event logging and aggregation platform.

[…]

Perl — Rose::DB::Object::Loader + Rose::DB::Object::Helpers

Проблема — надо, чтобы в сгенерированные Rose::DB::Object::Loader классы были включены методы, заданные с помощью Rose::DB::Object::Helpers. Решение подсказали в http://www.mail-archive.com/rose-db-object@lists.sourceforge.net/msg01541.html:

The usual way is to create a common base class with all the helpers you want, then tell the loader to use that class as the base_class.

http://search.cpan.org/dist/Rose-DB-Object/lib/Rose/DB/Object/Loader.pm#base_class

Пример — создаём базовый класс

package Rose::DB::Object::Baseclass; use […]

MySQL — оптимизация таблиц

Проблема возникла в связи с разросшейся базой zabbix. mysqltuner.pl посоветовал «Run OPTIMIZE TABLE to defragment tables for better performance» — но как это сделать не сказал.

Надо выполнить две команды:

SELECT concat(«OPTIMIZE TABLE «, table_schema,».»,table_name,»;») FROM information_schema.tables WHERE DATA_FREE > 0 INTO OUTFILE ‘/tmp/optimize.sql’;

source ‘/tmp/optimize.sql’;

/tmp/optimize.sql будет содержать команды оптимизации нужных таблиц.

Результаты: […]