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

8.4. �Х��ʥ���ǡ�����

bytea�ǡ������ϥХ��ʥ������¸���ǽ�ˤ��ޤ��� 表8-6�򻲾Ȥ��Ƥ���������

表 8-6. �Х��ʥ���ǡ�����

��̾��Ǽ����������
bytea1�ޤ���4�Х��ȤȼºݤΥХ��ʥ����Ĺ������Ĺ�ΥХ��ʥ���

�Х��ʥ���ϥ����ƥåȡʤޤ��ϥХ��ȡˤ�Ϣ³�Ǥ��� �Х��ʥ���ϣ��Ĥ���ˡ��ʸ����ȶ��̤���ޤ��� 1���ܤϡ��Х��ʥ���ϥ������ͤΥ����ƥåȤ�¾��"ɽ���Ǥ��ʤ�"�����ƥåȡ��̾�32����126���ϰϳ��Υ����ƥåȡˤ���¸�Ǥ���Ȥ������ȤǤ��� ʸ����Ǥϥ����Ȥ��������ƥåȤϻ��ѤǤ��ޤ��� �ޤ����ǡ����١��������򤷤Ƥ���ʸ�����å���沽������̵���ʥ����ƥå��ͤ䥪���ƥå��ͤ��¤Ӥ���ѤǤ��ޤ��� 2���ܤϡ��Х��ʥ����黻����ȼºݤΥХ��Ȥ����������Τ��Ф��ơ�ʸ����ν����ϥ�����������˽����Ȥ������ȤǤ��� �ޤȤ��ȡ��Х��ʥ���ϥץ�����ޤ�"�Х����󤽤Τ��"�ȹͤ����Τ��Ǽ����Τ�Ŭ����ʸ����ϥƥ����Ȥ��Ǽ����Τ�Ŭ���Ƥ��ޤ���

bytea�����������Ѥ�2�Ĥγ����񼰤򥵥ݡ��Ȥ��ޤ��� PostgreSQL�����Ū��"����������"�񼰤�"hex"�Ǥ��� ���ϤǤϤ�����ξ���Ȥ��˼���������ޤ��� ���Ͻ񼰤�bytea_output����ѥ�᡼���˰�¸�����ǥե���ȤǤ�hex�Ǥ��� ��hex�񼰤�PostgreSQL 9.0����Ƴ�����줿��ΤǤ��뤳�Ȥ����դ��Ƥ��������� �����ΥС�����������Υġ���ǤϤ�������򤷤ޤ��󡣡�

ɸ��SQL�ϡ�BLOB�ޤ���BINARY LARGE OBJECT�Ȥ������ۤʤ�Х��ʥ��󷿤�������ޤ��� ���Ͻ񼰤�bytea�Ȱۤʤ�ޤ������󶡤����ؿ�����ӱ黻�ҤϤۤ�Ʊ���Ǥ���

8.4.1. bytea hex��

"hex"�񼰤ǤϥХ��ʥ�ǡ�����Х���ñ�̤Ǿ�̤�1/2�Х��Ȥ���Ƭ��2���16�ʿ�����沽���ޤ��� �ʥ��������׽񼰤ȶ��̤��뤿��ˡ�ʸ�������Τ�\x�Ȥ����¤Ӥθ���դ����ޤ��� ������ʸ̮�Ǥϡ����������׽񼰤ǥХå�����å������Ťˤ��ʤ���Фʤ�ʤ������ξ��ˤ����ơ���Ƭ�ΥХå�����å������Ťˤ��ƥ��������פ�����ɬ�פ����뤫�⤷��ޤ��� �ܺ٤��դ��Ƥϸ���������ޤ��� 16�ʿ��η����ʸ���Ǥ⾮ʸ���Ǥ⹽���ޤ��� ����Ȥ߹�碌�ȼ����Ȥ߹�碌�δ֤˶���ʸ��������뤳�Ȥ��Ǥ��ޤ��� �ʤ���������Ȥ߹�碌�δ֤���Ƭ��\x�δ֤ˤ�����뤳�ȤϤǤ��ޤ��󡣡� hex�񼰤ϳ����Υ��ץꥱ������󤪤�ӥץ��ȥ���δ֤ǹ����ߴ�����������ޤ������������׽񼰤�����Ѵ�����®�ˤʤ뷹��������ޤ��� ���Τ�����Ѥ����ޤ�ޤ���

��

SELECT E'\\xDEADBEEF';

8.4.2. bytea���������׽�

"����������"�񼰤�bytea���Ѥ�����Ū��PostgreSQL�ν񼰤Ǥ��� ����ϡ��Х��ʥ����ASCIIʸ�����¤ӤȤ���ɽ����ASCIIʸ���Ȥ���ɽ���Ǥ��ʤ��Х��Ȥ��ü�ʥ��������ץ������󥹤Ȥ���ɽ������Ȥ�����������ޤ��� ���ץꥱ�������θ��Ϥ���ʸ���Ȥ���ɽ�����줿�Х��Ȥ�ͭ�դǤ���С�����ɽ���ϴ��ؤǤ��� ���������¤ˤϥХ��ʥ����ʸ����δ֤ζ��̤������ޤ��ˤʤ�ޤ��Τǡ��̾�Ϻ��𤷤ޤ��� �ޤ��ä����򤵤줿���������׵�����¿�����ΨŪ�Ǥ��� ���Τ��ᤳ�ν񼰤Ϥ����餯�ۤȤ�ɤο��������ץꥱ�������Ǥ��򤱤�٤��Ǥ��礦��

���������׽񼰤�bytea�ͤ����Ϥ���ݤˡ�������ͤΥ����ƥåȤ򥨥������פ���ɬ��������ޤ��� �ʤ������٤ƤΥ����ƥåȤ��ͤ򥨥������פ��뤳�Ȥ��Ǥ��ޤ��� ����Ū�ˤ��륪���ƥåȤ򥨥������פ���ˤϡ�����򤽤�3���8���ֹ���Ѵ������Хå�����å���(����������ʸ����ʸ����Ѥ��ƥ�ƥ��Ȥ����ͤ򵭽Ҥ������2�ĤΥХå�����å���)�������դ��ޤ��� ¾�ˤ�Хå�����å��弫��(�����ƥå���92)����ŤΥХå�����å���Ȥ���ɽ�����뤳�Ȥ��Ǥ��ޤ��� 表8-7�ˤϡ����������פ���ɬ�פ�����ʸ���ȡ�����Ŭ�Ѳ�ǽ�����إ��������ץ������󥹤򼨤��Ƥ��ޤ���

表 8-7. �����ƥåȤ򥨥������פ���bytea��ƥ��

10�ʥ����ƥå����������������פ��줿����ɽ��������ɽ��
0���������ƥå�E'\\000'SELECT E'\\000'::bytea;\000
39ñ�������''''�⤷����E'\\047'SELECT E'\''::bytea;'
92�Хå�����å���E'\\\\'�⤷����E'\\134'SELECT E'\\\\'::bytea;\\
0 to 31 and 127 to 255"ɽ���Ǥ��ʤ�"�����ƥå�E'\\xxx' (8�ʿ�)SELECT E'\\001'::bytea;\001

�ºݤˤϡ�ɽ���Ǥ��ʤ������ƥåȤ��Ф��륨���������׵�ϥ������������˰�¸�����Ѳ����ޤ��� ���󥹥��󥹤ˤ�äƤϡ����������פ򤷤ʤ��ǺѤळ�Ȥ⤢��ޤ��� 表8-7����γƷ�̤ϡ�����ɽ�������Ȥ��ƣ�ʸ���ʾ�Ǥ��äƤ⡢Ĺ�������Τ�1�����ƥåȤǤ��뤳�Ȥ����դ��Ƥ���������

表8-7�Ǽ������褦�ˡ�ʣ���Хå�����å��夬ɬ�פ���ͳ�ϡ�ʸ�����ƥ��Ȥ��Ƶ��Ҥ��줿����ʸ����ϡ�PostgreSQL�����о��2�Ĥβ����ʳ����̲᤹��ɬ�פ����뤳�ȤǤ��� ���Ȥ߹�碌�κǽ�ΥХå�����å����ʸ�����ƥ���ѥѡ����ǥ���������ʸ���Ȳ��ʥ���������ʸ����ʸ�λ��Ѥ�����ˤ��졢2���ܤΥХå�����å����Ĥ��ơ������Ǿ��񤵤�ޤ��� �ʤ����ʳ��Υ��������פ��򤱤뤿��˥ɥ������ˤ��ʸ�������Ѥ��뤳�Ȥ��Ǥ��ޤ����� �Ĥ�ΥХå�����å���ϡ�bytea���ϴؿ���3��Υ����ƥå��ͤ���Ƭ���դ����桢�⤷���ϡ�¾�ΥХå�����å���򥨥������פ��뵭��Ȥ���ǧ�����ޤ��� �㤨�С�E'\\001'�Ȥ��ƥ����Ф��Ϥ��줿ʸ�����ƥ��ϡ�����������ʸ����ѡ������̲ᤷ����\001�Τ褦�ˤʤ�ޤ��� \001�Ϥ��θ�bytea���ϴؿ�������졢10�ʿ���1��1�ĤΥ����ƥåȤ��Ѵ�����ޤ��� ñ�������ʸ����bytea�Ǥ����̤˰���줺���̾��ʸ�����ƥ��ε�§�˽������Ȥ����դ��Ƥ��������� ��項4.1.2.1�⻲�Ȥ��Ƥ�����������

�ޤ���Bytea�����ƥåȤϽ��ϻ���������������פ���ޤ��� ����Ū�ˤϡ���"ɽ���Ǥ��ʤ�"�����ƥåȤϡ�1�ĤΥХå�����å���θ��������3��8�ʿ��Ȥ��������Ѵ�����ޤ��� �ۤȤ�ɤ�"ɽ���Ǥ���"�����ƥåȤϡ����饤�����ʸ�����åȤˤ�����ɸ��ɽ����ɽ����ޤ��� 10�ʿ���92�Ȥʤ륪���ƥåȡʥХå�����å���ˤϽ��ϤǤ���Ťˤʤ�ޤ��� �ܺ٤�表8-8�˼����ޤ���

表 8-8. bytea���ϤΥ��������פ��줿�����ƥå�

10�ʥ����ƥå����������������פ��줿����ɽ�������Ϸ��
92�Хå�����å���\\SELECT E'\\134'::bytea;\\
0����31�����127����255"ɽ���Ǥ��ʤ�"�����ƥå�\xxx��8�ʿ���SELECT E'\\001'::bytea;\001
32����126"ɽ���Ǥ���"�����ƥå����饤�����ʸ�����åȤˤ�����ɽ��SELECT E'\\176'::bytea;~

���Ѥ���PostgreSQL�Υե���ȥ���ɤˤ�äƤϡ�byteaʸ����򥨥������פޤ��ϥ��󥨥������פ���ݤˡ��ɲ�Ū�ʺ�Ȥ�ɬ�פˤʤ뤳�Ȥ�����ޤ��� �㤨�С����Ѥ��륤�󥿥ե�����������ʸ��������ʸ����ưŪ���������Ƥ��ޤ���硢������ʸ���⥨�������פ��ʤ���Фʤ�ʤ����⤷��ޤ���