CREATE [ PROCEDURAL ] LANGUAGE name CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name HANDLER call_handler [ VALIDATOR valfunction ]
PostgreSQL�桼���ϡ�CREATE LANGUAGE��Ȥäƿ�������³�������PostgreSQL�ǡ����١�������Ͽ���뤳�Ȥ��Ǥ��ޤ��� ����ˤ�ꡢ�ؿ��ȥȥꥬ�ץ���������������������Ǥ���褦�ˤʤ�ޤ��� �������������Ͽ����ˤϡ�PostgreSQL�Υ����ѡ��桼�����¤���äƤ��ʤ���Ф����ޤ���
CREATE LANGUAGE�ϡ�����̾�Ȥ��θ���Ǻ������줿�ؿ��μ¹Ԥ���Ǥ����ĸƤӽФ��ϥ�ɥ��ΨŪ�˴�Ϣ�դ��ޤ��� ����ƤӽФ��ϥ�ɥ�ˤĤ��Ƥξܺ٤ϡ���35���Ȥ��Ƥ���������
CREATE LANGUAGE���ޥ�ɤˤ�2����η���������ޤ��� �ǽ�η����ϡ��桼����ɬ�פʸ����̾���Τߤ�ñ�˻��ꤹ���ΤǤ��� ���ξ�硢PostgreSQL�����Ф�pg_pltemplate�����ƥ५�������Ȥ����������ѥ�������ꤷ�ޤ��� 2���ܤη����Ǥϡ��桼���ϸ���̾��¾�˸���Υѥ��������Ϥ��ޤ��� ���η����ǡ�pg_pltemplate���������Ƥ��ʤ������������뤳�Ȥ��Ǥ��ޤ��������μ�ˡ���Ѵ�ͽ��Ǥ���
���ꤵ�줿����̾���б�����pg_pltemplate���������ι��ܤ��Ф����Ĥ���ȡ����ޥ�ɤ˸���Υѥ������ޤޤ�Ƥ����Ȥ��Ƥ⥫�������Υǡ�������Ѥ��ޤ��� ����ư��ˤ�ꡢ�Ť��������Υ��ݡ��ȴؿ��˴ؤ�������ޤࡢ�Ť�����ץե����뤫����ɤ߹��ߤ���ñ�ˤʤ�ޤ���
TRUSTED�ϡ����θ���θƤӽФ��ϥ�ɥ餬�����Ǥ��뤳�Ȥ���ꤷ�ޤ��� �����Ǥ���Ȥϡ����¤�����ʤ��桼���ˤϥ����������¤�̵�뤹�뵡ǽ�����Ϳ���ʤ��Ȥ������ȤǤ��� �������Ͽ���ˤ��Υ�����ɤ��ά����ȡ�PostgreSQL�Υ����ѡ��桼�����¤���ĥ桼���Τߤ������θ����Ȥäƿ������ؿ������褦�ˤʤ�ޤ���
����ϥΥ�����ɤǤ���
��������³�������̾���Ǥ��� ����̾����ʸ��/��ʸ���ζ��̤�����ޤ��� ����̾���ϥǡ����١����θ������ǰ�դǤʤ���Фʤ�ޤ���
�����ߴ����ݻ����뤿�ᡢ����̾����ñ�������ǰϤळ�Ȥ�Ǥ��ޤ���
call_handler�ϼ�³������δؿ���¹Ԥ��뤿��˸ƤӽФ����ؿ���̾���ǡ���������Ͽ���Ƥ���ɬ�פ�����ޤ��� ���Υϥ�ɥ�ϡ�Version-1�ƤӽФ������§�äơ�C����Τ褦�ʥ���ѥ������ǽ�Ƥ���ɬ�פ�����ޤ����ޤ����������餺language_handler�����֤��ؿ��Ȥ��ơ�PostgreSQL����Ͽ����Ƥ��ʤ���Фʤ�ޤ��� language_handler���ϡ�ñ�˴ؿ���ƤӽФ��ϥ�ɥ�Ȥ��Ƽ��̤���Τ˻��Ѥ���ץ졼���ۥ�����Ǥ���
valfunction�ϡ���������Ͽ���줿�����Ѵؿ���̾���Ǥ����������ؿ�����������Ǻ������줿��硢���δؿ��ڤ��뤿��˸ƤӽФ���ޤ��� �����Ѵؿ������ꤵ��Ƥ��ʤ���硢�������ؿ��Ϻ������˥����å�����ޤ��� �����Ѵؿ��ϡ�oid���ΰ�����1�ļ��ɬ�פ�����ޤ��� ���ΰ����Ϻ��������ؿ���OID�ˤʤ�ޤ��� �ޤ����̾�void�����֤��ޤ���
�����Ѵؿ��ϡ��̾�ؿ����Τ���ʸ�����������ɤ��������뤿��˻��Ѥ���ޤ���
����������������Ǥʤ����ؿ��Υץ��ѥƥ��⸡����ǽ�Ǥ����㤨�С����θ��줬�����Ǥ��ʤ�����Υǡ������������˴ޤޤ�Ƥ��ʤ����ʤɤ������å��Ǥ��ޤ���
���顼�����Τ���ˤϡ������Ѵؿ���ereport()
�ؿ�����Ѥ��٤��Ǥ���
�ؿ�������ͤ�̵�뤵��ޤ���
�����Ф����ꤷ������̾���б�����pg_pltemplate�ι��ܤĤ�����硢TRUSTED���ץ����ȥ��ݡ��ȴؿ�̾��̵�뤵��ޤ���
createlang��CREATE LANGUAGE���Ф����ñ�ʥ�åѥץ������Ǥ��� �������Ѥ��ƴ�ñ�˥����륳�ޥ�ɥ饤���³������ȡ��뤹�뤳�Ȥ��Ǥ��ޤ���
��³�������������ˤϡ�DROP LANGUAGE���ޤ���droplang����Ѥ��Ƥ��������ʸ�Ԥ�ޤ��ˡ�
�����ƥ५������pg_language
�� ��42.20���ȡˤˤϡ����ߥ��ȡ��뤵��Ƥ������˴ؤ������Ͽ����Ƥ��ޤ���
�ޤ���createlang�ˤϥ��ȡ��뤵�줿�������륪�ץ������ޤ���
��³������Ǵؿ����������ˤϡ��桼���Ϥ��θ�����Ф���USAGE���¤�����ʤ���Фʤ�ޤ��� �ǥե���ȤǤϡ����ꤵ�줿�����USAGE��PUBLIC�ˡʤĤޤ������ˡ���Ϳ����Ƥ��ޤ��� �����ɬ�פ˱����Ƽ��������Ȥ��Ǥ��ޤ���
��³������ϳƥǡ����١����˶ɽ�Ū�Ǥ��� �������������template1�ǡ����١����˥��ȡ��뤹�뤳�Ȥ��Ǥ��ޤ��� ���ξ�硢���θ�˺������줿���٤ƤΥǡ����١����Ǽ�ưŪ�ˤ��θ���ϻ��ѤǤ���褦�ˤʤ�ޤ���
�ƤӽФ��ϥ�ɥ�ؿ��ȸ��ڴؿ��ʤ⤷����Сˤϡ������Ф�pg_pltemplate��ˤ��θ���˴ؤ�����ܤ���äƤ��ʤ����ˤϡ�¸�ߤ��ʤ���Фʤ�ޤ��� �����������ι��ܤ����ä��Ȥ��Ƥ⡢�ؿ������Ǥ�¸�ߤ��Ƥ���Ȥϸ¤�ޤ��� �ǡ����١������¸�ߤ��Ƥ��ʤ���м�ưŪ���������ޤ��� �ʸ����������붦ͭ�饤�֥�꤬���ȥ졼���������ѤǤ��ʤ���硢����ˤ��CREATE LANGUAGE�����Ԥ����ǽ��������ޤ�����
PostgreSQL 7.3������ΥС������Ǥϡ��ϥ�ɥ�ؿ����֤��ץ졼���ۥ������language_handler���ǤϤʤ�opaque�����������ɬ�פ�����ޤ����� �Ť�����ץե�����Υ����ɤݡ��Ȥ��뤿��ˡ�CREATE LANGUAGE��opaque�����֤���������줿�ؿ����������ޤ��� �����������դ�¥����å�������ɽ������������줿�ؿ�������ͷ���language_handler���Ѵ����ޤ���