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

43.2. ��������������Υ��顼�����

�����Х������⤫����������륨�顼���ٹ𡢥�����å������ϡ�ereport���⤷���Ϥ���˻����Ť�elog����Ѥ��ƺ������Ƥ��������� ���δؿ��λ��Ѥϡ������Ĥ�������ɬ�פʤۤ�ʣ���Ǥ���

���ƤΥ�å������ˤϡ������٥�٥�(DEBUG����PANIC�ޤǤ��ϰ�)�ȼ��å������ƥ����ȤȤ�����2�Ĥ�ɬ�����Ǥ�����ޤ��� ���ˡ���ά��ǽ�����Ǥ�����ޤ��� ������ǺǤ��ɤ����Ѥ����Τϡ�SQL���ͤ�SQLSTATE��§�˽������顼���̥����ɤǤ��� ereport���Ȥϥ�����ؿ��ǡ���ˡ���å�����������C��������������δؿ��ƤӽФ��Τ褦�˹Ԥʤ碌�롢��ʸ���ص���¸�ߤ��ޤ��� ereport��ľ�ܼ����դ�����ͣ��Υѥ�᡼���Ͽ����٥�٥�Ǥ��� ���å������ƥ����Ȥ�Ǥ�դξ�ά��ǽ�ʥ�å��������Ǥϡ�ereport�ƤӽФ����errmsg�ʤɤ�����ؿ���ƤӽФ����Ȥ���������ޤ���

ŵ��Ū��ereport�θƤӽФ��ϰʲ��Τ褦�ʤ�ΤǤ���

ereport(ERROR,
        (errcode(ERRCODE_DIVISION_BY_ZERO),
         errmsg("division by zero")));

����ϡ����顼�����٥�٥�ERROR(���̤Υ��顼)����ꤷ�ޤ��� errcode�ƤӽФ��ϡ�src/include/utils/errcodes.h��������줿�ޥ�������Ѥ���SQLSTATE���顼�����ɤ���ꤷ�ޤ��� errmsg�ƤӽФ��ϡ����å������ƥ����Ȥ��󶡤��ޤ��� ����ؿ��ƤӽФ���Ϥ�;�פʳ�̷������դ��Ƥ��������� �����Ϥ��餤�餵�����ޤ�������ʸ��ɬ�פǤ���

�ʲ��ˤ��ʣ������򼨤��ޤ���

ereport(ERROR,
        (errcode(ERRCODE_AMBIGUOUS_FUNCTION),
         errmsg("function %s is not unique",
                func_signature_string(funcname, nargs,
                                      actual_arg_types)),
         errhint("Unable to choose a best candidate function. "
                 "You may need to add explicit typecasts.")));

����ϡ��¹Ի����ͤ��å������ƥ�������������ि��������ѥ����ɤλ��Ѥ򼨤��ޤ��� �ޤ�����ά��ǽ��"�ҥ��"��å��������󶡤���Ƥ��ޤ���

ereport�ǻ��Ѳ�ǽ������롼�����ʲ��˼����ޤ���

�ޤ����ˤ˻��Ѥ���Ƥ��롢�Ť��elog�ؿ�������ޤ��� �ʲ���elog�ƤӽФ��ϡ�

elog(level, "format string", ...);

�ʲ�������Ʊ���Ǥ���

ereport(level, (errmsg_internal("format string", ...)));

SQLSTATE���顼�����ɤ���˥ǥե���Ȥˤʤ뤳�ȡ���å�����ʸ������˹�ݲ���å����������ޤ�뤳�Ȥ��Ǥ��ʤ����Ȥ����դ��Ƥ��������� ���äơ�elog�ϡ��������顼�����٥�̾�ǥХå��ѥ����ˤΤߤ˻��Ѥ��٤��Ǥ��� ���̥桼�����оݤȤ���Ǥ�դΥ�å�������ereport����Ѥ��٤��Ǥ��� ����Ǥ�ʤ��������ƥ����"ȯ���Ǥ��ʤ��ä�"�������顼�θ�����elog���ޤ�¿�����Ѥ���Ƥ��ޤ��� ����ϡ���������ñ���ɽ���Υ�å�������Ŭ���Ƥ��ޤ���

��43.3�˿侩���륨�顼��å������κ����ˤĤ��Ƥ�����򼨤��ޤ���

����

[1]

�Ĥޤꡢereport�ƤӽФ���ã�������򸽺ߤȤ����ͤǤ��� ������롼�������errno���ѹ����Ƥ���̤Ϥ���ޤ��� errmsg���strerror(errno)������Ū�˵��Ҥ����Ȥ��Ƥ����Τʤ�ΤˤϤʤ�ޤ��� ���äơ����Τ褦�ˤϤ��ʤ��Ǥ���������