¾�ΥС�������ʸ�� �� 17 | 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

55.2. TOAST

����Ǥ�TOAST�ʲ���°����Ǽ��ˡ��The Oversized-Attribute Storage Technique�ˤγ��פˤĤ����������ޤ���

PostgreSQL�ϸ���Ĺ�Υڡ������������̾�8�����Х��ȡˤ���Ѥ���ʣ���ڡ����ˤޤ����륿�ץ������ޤ��� ���Τ��ᡢ�絬�Ϥʥե�������ͤ�ľ�ܳ�Ǽ�Ǥ��ޤ��� �絬�Ϥʥե�������ͤ򰵽̤����ꡢʣ����ʪ��Ū�ʹԤ�ʬ�䤷���ꤹ�뤳�Ȥǡ����θ³��Ϥʤ��ʤ�ޤ����� ����ϥ桼�������Ʃ��Ū��ȯ�������ޤ����Хå�����ɤΥ��������ΤˤϾ����ʱƶ�����Ϳ���ޤ���Ǥ����� ���ε�ˡ��TOAST�ʤޤ���"�ѥ�򥹥饤�����ư�������Τ��"�ˤȤ������ΤǸƤФ�ޤ��� [�������ȥѥ�򥹥饤�����ư�������Τ�Ρ�the best thing since sliced bread�ˡɤ������餷����Τ��̣���ޤ���]

�����Υǡ������Τߤ�TOAST�򥵥ݡ��Ȥ��ޤ��� �絬�Ϥʥե�������ͤ��������뤳�Ȥ��ʤ��ǡ������˥����С��إåɤ���碌��ɬ�פϤ���ޤ��� TOAST�򥵥ݡ��Ȥ��뤿��ˤϡ��ǡ������ϲ���Ĺ��varlena��ɽ��������ʤ���Фʤ�ޤ��� ��Ǽ�����ͤκǽ��32�ӥåȥ�ɤˤϥХ���ñ�̤��ͤΡʤ��Υ�ɼ��Τ�ޤ��Ĺ�����ޤޤ�ޤ��� TOAST�ϻĤ��ɽ���ˤĤ������¤��ޤ��� TOAST��ǽ�ʥǡ������򥵥ݡ��Ȥ���C����ؿ��Ϥ��٤ơ�TOAST�����줿�����ͤ����դ��ư���ʤ���Фʤ�ޤ��� ���̾盧��ϡ����Ϥ��Ф��Ʋ�����Ȥ򤹤�����PG_DETOAST_DATUM��ƤӽФ����ȤǹԤ��ޤ�������äȸ�ΨŪ����ˡ����ǽ�ʾ��⤢��ޤ��ˡ�

TOAST��varlena��Ĺ����ɤ�2�ӥå�(�ӥå�����ǥ�����Υޥ���ǤϾ�̥ӥåȡ���ȥ륨��ǥ�����Υޥ���Ǥϲ��̥ӥå�)�򾡼�˻��Ѥ��ޤ��� ���Τ��ᡢ���٤Ƥ�TOAST��ǽ�ʥǡ��������ͤ�������������1�����Х��ȡ�230 - 1�Х��ȡˤޤǤˤʤ�ޤ��� ξ�ӥåȤ�0�ξ�硢�ͤϤ��Υǡ����������̤�TOAST������Ƥ��ʤ��ͤȤʤꡢĹ����ɤλĤ�ΥӥåȤϥǡ����Ρ�Ĺ����ɤ�ޤ�����������ʥХ���ñ�̡ˤȤʤ�ޤ��� ���¦�ޤ��ϲ���¦�Τɤ��餫�����ΥӥåȤ����ꤵ�줿��硢�ͤ��̾��4�Х��ȤΥإå��������1�Х��ȤΥإå�������ޤ��� �ޤ���Ĺ����ɤλĤ�ӥåȤϥǡ����Ρ�Ĺ����ɤ�ޤ�����������ʥХ���ñ�̡ˤȤʤ�ޤ��� �ü�ʾ����Ȥ��ơ�Ĺ����ɤλĤ�ӥåȤ����٤�0�ʼ��Ȥ�Ĺ����ޤߤޤ��ΤǤ��ꤨ�ޤ���ˤξ�硢�����ͤ��̤�TOAST�ơ��֥����¸�����Գ��ǡ����ؤΥݥ��󥿤Ǥ��� ��TOAST�ݥ��󥿤Υ������ϥǡ�������2�Х������Ϳ�����ޤ����� ñ��Х��ȥإå�������ͤ�����ζ��������󤵤�ޤ��� �Ǹ�˾��¦�ޤ��ϲ���¦�ΥӥåȤ�0���٤ΥӥåȤ����ꤵ��Ƥ����硢�ǡ��������Ƥϰ��̤��졢�������˿�Ĺ���ʤ���Фʤ�ޤ��� ���ξ�硢Ĺ����ɤλĤ�ӥåȤϸ��ǡ����Υ������ǤϤʤ����̤����ǡ��������������ˤʤ�ޤ��� ���̤��Գ��ǡ����Ǥⵯ���ꤨ�ޤ�����varlena�إå��ˤϰ��̤���Ƥ��뤫�ɤ����ˤĤ��Ƥξ��󤬤ʤ����Ȥ����դ��Ƥ��������� ��������TOAST�ݥ��󥿤����Ƥˤ��ξ��󤬴ޤޤ�Ƥ��ޤ���

�ơ��֥��Ǥ�դ���TOAST��ǽ�ʾ�硢���Υơ��֥��Ϣ�Ȥ���TOAST�ơ��֥������ޤ��� TOAST�ơ��֥��OID�ϥơ��֥��pg_class.reltoastrelid���ܤ˳�Ǽ����ޤ��� �ܺ٤ϸ���������ޤ������Գ���TOAST�����줿�ͤ�TOAST�ơ��֥�����ݻ�����ޤ���

���Ѥ���밵�̵��Ѥϡ�LZ�Ϥΰ��̵��Ѥ�1�Ĥ�ñ�㤫�����˹�®�ʤ�ΤǤ��� �ܺ٤�src/backend/utils/adt/pg_lzcompress.c�򻲾Ȥ��Ƥ���������

�Գ����ͤϡʰ��̤������ϰ��̸�ˡ˺���TOAST_MAX_CHUNK_SIZE�Х��Ȥβ���ʬ�䤵��ޤ� �ʥǥե���ȤǤϤ����ͤ�4����󥯹Ԥ�1�ڡ����˼��ޤꡢ���褽2000�Х��Ȥˤʤ�褦�����Ф�ޤ��ˡ� �Ʋ��ϡ��ǡ�������ĥơ��֥��Ϣ�Ȥ���TOAST�ơ��֥���˸��̤ιԤȤ��Ƴ�Ǽ����ޤ��� ���٤Ƥ�TOAST�ơ��֥��chunk_id��������TOAST�����줿�ͤ��̤���OID�ˡ�chunk_seq����ͤβ����Ф���Ϣ�֡ˡ�chunk_data�ʲ��μºݤΥǡ������������ޤ��� chunk_id��chunk_seq���Ф�����������ǥå������ͤ���Ф��®�����ޤ��� �������äơ��Գ���TOAST�����줿�ͤ򼨤��ݥ��󥿥ǡ����ˤϡ�������Ȥʤ�TOAST�ơ��֥��OID�Ȼ��ꤷ���ͤ�OID(chunk_id)���Ǽ���ʤ���Фʤ�ޤ��� �������Τ���ˡ��ݥ��󥿥ǡ����ˤ������ǡ����������ʸ������󰵽̤Υǡ���Ĺ�ˤȼºݤγ�Ǽ�������ʰ��̻��ˤϰۤʤ�ޤ��ˤ��Ǽ����ޤ��� varlena�إå��Х��Ȥ˼�Ǽ���뤿���TOAST�ݥ��󥿥ǡ��������������ϡ�ɽ��������ͤμ¥������˴ط��ʤ���18�Х��Ȥˤʤ�ޤ���

TOAST�Υ����ɤϡ��ơ��֥���˳�Ǽ������ͤ�TOAST_TUPLE_THRESHOLD���̾�2�����Х��ȡˤ�Ķ������ˤΤ߼¹Ԥ���ޤ��� TOAST�����ɤϡ��Ԥ��ͤ���꾮�����ʤ뤫����ʾ�ν̾����Ǥ��ʤ��ʤ�ޤǡ��ե�������ͤΰ��̤�Գ��ؤΰ�ư��Ԥ��ޤ��� ��������桢�ѹ�����ʤ��ͤ��̾綠�Τޤ޻Ĥ�ޤ��� �Գ����ͤ���ĹԤι����Ǥϡ��Գ����ͤ��ѹ����ʤ����TOAST���륳���ȤϤ�����ޤ���

TOAST�����ɤǤϡ��ʲ���TOAST��ǽ������Ǽ���뤿���4�Ĥΰۤʤ���ά��ǧ��ޤ���

TOAST��ǽ�ʥǡ������Ϥ��줾�졢���Υǡ����������ѤΥǥե���Ȥ���ά����ꤷ�ޤ��� ������ALTER TABLE SET STORAGE����Ѥ��ơ�����ơ��֥������ά���ѹ����뤳�Ȥ��Ǥ��ޤ���

���ε����ˤϡ��ڡ�����ޤ�����Ԥ��ͤ���Ĥ���Ȥ��ä���ľ�ʼ�ˡ����٤�¿��������������ޤ��� �̾��䤤��碌�����Ū�����ʥ����ͤ��Ф�����ӤǾ���դ�������ΤȲ��ꤹ��ȡ����������塼���λŻ��ΤۤȤ�ɤϼ���ä��Ԥι��ܤ���Ѥ��ƹԤ��뤳�Ȥˤʤ�ޤ��� TOAST��°�����絬�Ϥ��ͤϡ��ʤ��줬���򤵤�Ƥ�����˷�̽���򥯥饤����Ȥ��᤹���˰����Ф��������Ǥ��� ���Τ��ᡢ��ơ��֥�ϹԳ��γ�Ǽ����Ѥ��ʤ�������٤ơ����ʤ꾮�����ʤꡢ���ιԤ϶�ͭ�Хåե�����å���ˤ��礦�褦�ˤʤ�ޤ��� �����Ƚ����ޤ��������ʤꡢ�����Ȥ������˥�����ǹԤ������٤��⤯�ʤ�ޤ��� �����Ϥʻ��̤Ǥ�����ŵ��Ū��HTML�ڡ����Ȥ���URL����ĥơ��֥�Ǥϡ�TOAST�ơ��֥��ޤᡢ�����Υǡ����������Τ��褽Ⱦʬ�dz�Ǽ�Ǥ�������ˡ���ơ��֥�ˤ����ΤΥǡ����Τ��褽10%�Τߡ�URL�Ȱ����ξ�����HTML�ڡ����ˤ���Ǽ����ޤ����� TOAST������ʤ��褦�ˤ��٤Ƥ�HTML�ڡ�����7�����Х������٤��ڤ�ͤ�Ƥ�TOAST���İ��̲����ʤ��ơ��֥����١��¹Ի��˰㤤�Ϥ���ޤ���Ǥ�����