понедельник, 30 апреля 2012 г.

Размер таблиц в postgresql

С помощью этого запроса можно получить список самых крупных отношений (relations) в текущей базе данных: таблиц, индексов.
SELECT nspname || '.' || relname AS "relation",
    pg_size_pretty(pg_relation_size(C.oid)) AS "size"
  FROM pg_class C
  LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  WHERE nspname NOT IN ('pg_catalog', 'information_schema')
  ORDER BY pg_relation_size(C.oid) DESC
  LIMIT 20;
А этот запрос показывает общий размер таблиц, включая все индексы в текущей базе данных:
SELECT nspname || '.' || relname AS "relation",
    pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
  FROM pg_class C
  LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  WHERE nspname NOT IN ('pg_catalog', 'information_schema')
    AND C.relkind <> 'i'
    AND nspname !~ '^pg_toast'
  ORDER BY pg_total_relation_size(C.oid) DESC
  LIMIT 20;
 
Источник: http://wiki.postgresql.org/wiki/Disk_Usage 

вторник, 17 апреля 2012 г.

Отставание времени в виртуалках с FreeBSD9

Начиная с FreeBSD9 стали наблюдатся проблемы с отсчетом времени в гостевых машинах вне зависимости от системы виртуализации. Отставание происходит настолько быстро, что ntpd не решает проблему.
Изменение следующей переменной исправляет отсчет времени:
# sysctl kern.eventtimer.idletick=1
Чтобы настройка применялась автоматически необходимо добавить в /etc/sysctl.conf:
 kern.eventtimer.idletick=1