четверг, 19 апреля 2012 г.

Зависшие Prepared Transaction в Postgres

Если в базе postgres не удаляется таблица (на запрос drop database сервер выдает ошибку database is being accessed by other users, хотя ни кто базу не использует) или в этой таблице невозможно изменить данные и перезагрузка сервера тоже не помогает, то следует обратить внимание на зависшие распределенные транзакции.
Выполняем запрос: select * from pg_prepared_xacts
Копируем значение поля gid.
Теперь выполняем запрос: ROLLBACK PREPARED 'gid'
где gid - скопированное значение.

Настраиваем Glassfish 3.2 на использование логгера log4j

  1. Качаем log4j jar
  2. Копируем его в директорию Glassfish /lib. 
  3. Создаем файл настроек log4j.properties и кладем его в директорию /config домена (например, GLASSFISH_HOME/domains/domain1/config/) 
  4. Добавляем опцию JVM Dlog4j.configuration=file:///${com.sun.aas.instanceRoot}/config/log4j.properties 
  5. Перезапускаем Glassfish 
  6. Profit!!!

четверг, 28 июля 2011 г.

Собираем движок v8 JavaScript под Microsoft Visual Studio 2010

  1. Качаем исходники v8 с помощью svn-клиента (я использую TortoiseSVN): 
  2. http://v8.googlecode.com/svn/trunk/
  3. Устанавливаем скриптовый язык Python 2.5 или выше (качать от сюда)
  4. Устанавливаем утилиту Scons 1.0.0 или выше (качать от сюда)
  5. Открываем консоль командой cmd, переходи в папку с исходниками v8
  6. В консоли выполняем: <путь_к_Python'у>\scripts\scons.bat env="INCLUDE:C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include;C:\Program Files\Microsoft Visual Studio 10.0\VC\include,LIB:C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib;C:\Program Files\Microsoft Visual Studio 10.0\VC\lib"
  7. Profit!!!

Список таблиц/индексов и их размеров

SELECT relname AS "relation" , pg_size_pretty ( pg_relation_size ( C . oid )) AS "size" FROM pg_class C LEF...