¾�ΥС�������ʸ�� �� 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

F.2. auto_explain

auto_explain�⥸�塼��ϡ���ư��EXPLAIN�μ¹Ԥ�ɬ�פȤ�������ưŪ���٤�ʸ�μ¹Էײ�������Ͽ������ʤ��󶡤��ޤ����礭�ʥ��ץꥱ�������ˤ������Ŭ������Ƥ��ʤ��䤤��碌�����פ���Τ��ä�ͭ�ѤǤ���

���Υ⥸�塼���SQL�ǥ��������Ǥ���ؿ����󶡤��ޤ��󡣻��Ѥ���ˤϡ������Ф�ñ���ɤ߹��ޤ��ޤ���������̤Υ��å������ɤ߹��ޤ��뤳�Ȥ��Ǥ��ޤ���

LOAD 'auto_explain';
  

�ʼ¹Ԥ��뤿��ˤϥ����ѡ��桼���Ǥʤ���Фʤ�ޤ��󡣡ˤ�����Ū�ʻ�����ˡ�ϡ�postgresql.conf��shared_preload_libraries��auto_explain��ޤ�ơ����٤ƤΥ��å����ǻ����˥����ɤ��Ƥ������ȤǤ�������ȡ����곰����®���䤤��碌��ȯ�����˲���Ԥ����Ȥʤ����פ��뤳�Ȥ��Ǥ��ޤ��������ʤ��餳�Τ���Υ����С��إåɤȤ������������ޤ���

F.2.1. ����ѥ�᡼��

auto_explain��ư������椹�뤤���Ĥ��ι����ѥ�᡼����¸�ߤ��ޤ����ǥե���Ȥ�ư��ϲ��⤷�ʤ����ȤʤΤǡ��ʤ�餫�η�̤�˾��ΤǤ���о��ʤ��Ȥ�auto_explain.log_min_duration�����ꤷ�ʤ���Фʤ�ʤ����Ȥ����դ��Ƥ���������

auto_explain.log_min_duration (integer)

auto_explain.log_min_duration�ϡ�ʸ�μ¹Էײ褬�����˵�Ͽ�����褦�ˤʤ롢�ߥ���ñ�̤κǾ���ʸ�¹Ի��֤Ǥ�������򥼥��ˤ���С����٤Ƥηײ褬��Ͽ����ޤ����ޥ��ʥ�1�ʥǥե���ȡˤϷײ�ε�Ͽ��̵���ˤ��ޤ����㤨�С�250ms�����ꤹ��ȡ�250ms�ʾ�¹Ԥ���ʸ���٤Ƥ���Ͽ����ޤ��������ѡ��桼���Τߤ�����������ѹ����뤳�Ȥ��Ǥ��ޤ���

auto_explain.log_analyze (boolean)

auto_explain.log_analyze�ϡ��¹Էײ�Υ������������줿�Ȥ��˽��Ϥ�����ΤȤ��ơ�ñ��EXPLAIN���ϤǤϤʤ���EXPLAIN ANALYZE���Ϥ�Ԥ��ޤ������Υѥ�᡼���ϥǥե���Ȥ�̵���Ǥ��������ѥ桼���Τߡ�����������ѹ��Ǥ��ޤ���

注意: ���Υѥ�᡼����ͭ���ξ�硢�ײ�Ρ��ɤ��Ȥλ���ŪĴ���ϻ��¾���������ޤ�ǡ���˻��֤��ݤ������ȡ����Ƥμ¹�ʸ���Ф��ư���������ޤ�����ü����ǽ��Υޥ��ʥ��αƶ������������ޤ���

auto_explain.log_verbose (boolean)

auto_explain.log_verbose�ϡ��¹Էײ�Υ������������줿�Ȥ��˽��Ϥ�����ΤȤ��ơ�ñ��EXPLAIN���ϤǤϤʤ���EXPLAIN VERBOSE���Ϥ�Ԥ��ޤ������Υѥ�᡼���ϥǥե���Ȥ�̵���Ǥ��������ѥ桼���Τߡ�����������ѹ��Ǥ��ޤ���

auto_explain.log_nested_statements (boolean)

auto_explain.log_nested_statements�ˤ�ꡢ����Ҿ���ʸ�ʴؿ��⤫��¹Ԥ����ʸ�ˤ��θ���Ƶ�Ͽ����褦�ˤʤ�ޤ���̵���ʤ�С��Ǿ�̤��䤤��碌�ײ�Τߤ���Ͽ����ޤ������Υѥ�᡼���ϥǥե���Ȥ�̵���Ǥ��������ѡ��桼���Τߤ�����������ѹ����뤳�Ȥ��Ǥ��ޤ���

�����ѥ�᡼����postgresql.conf�ե���������ꤹ�뤿��ˤϡ�custom_variable_classes��auto_explain���ɲä���ɬ�פ�����ޤ���ŵ��Ū�ʻ���ˡ�ϰʲ��Τ褦�ˤʤ�ޤ���

# postgresql.conf
shared_preload_libraries = 'auto_explain'

custom_variable_classes = 'auto_explain'
auto_explain.log_min_duration = '3s'
  

F.2.2. ��

  postgres=# LOAD 'auto_explain';
  postgres=# SET auto_explain.log_min_duration = 0;
  postgres=# SELECT count(*)
               FROM pg_class, pg_index
              WHERE oid = indrelid AND indisunique;
  

����ˤ�ꡢ�ʲ��Τ褦�ʥ������Ϥ���������ޤ���

  LOG:  duration: 0.986 ms  plan:
          Aggregate  (cost=14.90..14.91 rows=1 width=0)
            ->  Hash Join  (cost=3.91..14.70 rows=81 width=0)
                  Hash Cond: (pg_class.oid = pg_index.indrelid)
                  ->  Seq Scan on pg_class  (cost=0.00..8.27 rows=227 width=4)
                  ->  Hash  (cost=2.90..2.90 rows=81 width=4)
                        ->  Seq Scan on pg_index  (cost=0.00..2.90 rows=81 width=4)
                              Filter: indisunique
  STATEMENT:  SELECT count(*)
            FROM pg_class, pg_index
           WHERE oid = indrelid AND indisunique;
  

F.2.3. ���

�ij� ��͵