top of page
Волнистый абстрактный фон

PostgreSQL: database statistics

В окне представлена разнообразная статистика работы баз данных кластера PostgreSQL

Database stats

Представлена информация системного представления pg_stat_database

PostgreSQL database statistics

Database statistics

SELECT db.datid,
       db.datname,
       numbackends,
       xact_commit,
       xact_rollback,
       blks_read,
       blks_hit,
       tup_returned,
       tup_fetched,
       tup_inserted,
       tup_updated,
       tup_deleted,
       stats_reset,
       slave.confl_tablespace,
       slave.confl_lock,
       slave.confl_snapshot,
       slave.confl_bufferpin,
       slave.confl_deadlock,
       temp_files, 
       pg_size_pretty(temp_bytes),
       deadlocks,
       blk_read_time,
       blk_write_time,
       pg_size_pretty(pg_database_size(db.datid))
 FROM pg_stat_database db 
   JOIN pg_stat_database_conflicts slave 
      ON db.datid=slave.datid
where db.datname=$$DBNAME

pg_config

Просмотр системной таблицы pg_config базы данных PostgreSQL

PostgreSQL view pg_config

select * from pg_config

pg_file_settings

Просмотр системной таблицы pg_file_settings базы данных PostgreSQL

PostgreSQL view pg_file_settings

select f.sourcefile, 
      f.name, 
      f.setting, 
      f.applied, 
      f.error 
 from pg_file_settings f

Language support

Список языков программирования поддерживаемых кластером PostgreSQL

PostgreSQL view language_support

select l.lanname,
      a.rolname,
      l.lanispl,
      l.lanpltrusted,
      l.lanplcallfoid,
      l.laninline,
      l.lanvalidator
 from pg_language l 
   left join pg_authid a 
      on l.lanowner=a.oid

Percentage before freezing

На странице отображается информация о качестве работы процессов autovacuum кластера PostgreSQL. Процент в поле "Percentage before freezing" близкий к нулю говорит о том, что автовакуум не успевает очищать таблицы и велика вероятность ситуации при которой потребуется переводить базу в однопользовательский режим и выполнять vacuum full.

При большом количестве таблиц с низким процентом необходимо проанализировать значения параметров авто вакуума на предмет их изменения на более агрессивные значения.

PostgreSQL show freeze info

with rel_frozen as (
   select c.oid::regclass as table_name,
          (select e.nspname 
             from pg_catalog.pg_namespace e 
             where oid = c.relnamespace) as schema,
           greatest(age(c.relfrozenxid), age(t.relfrozenxid)) as age,
           greatest(age(c.relfrozenxid), age(t.relfrozenxid))*100./
               (pow(2,31)-1) as perc_wrpa
     from pg_class c 
        left join pg_class t on c.reltoastrelid = t.oid
     where c.relkind in ('r','m')
)
select table_name::text "table", 
      schema, 
      100 - round(perc_wrpa::numeric,2) "froz" 
 from rel_frozen order by 3

bottom of page