CREATE LANGUAGE

Name

CREATE LANGUAGE -- ����һ���µĹ�������

Synopsis

CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name
    HANDLER call_handler [ VALIDATOR valfunction ]

����

ʹ�� CREATE LANGUAGE�� һ��PostgreSQL �û������� PostgreSQL��ע��һ���µ����ԡ� ����������ʹ��������̿��������������Զ��塣Ҫע���������û�������� PostgreSQL �����û�Ȩ�ޡ�

CREATE LANGUAGE �������Ե����ֺ�һ�����þ���������������õ��þ������ִ�и�������д�ĺ����� ��ο� Chapter 34 ��ȡ�й����Ե��þ���ĸ�����Ϣ��

��ע����������Ƕ�ÿ�����������ݿ�������Լ��ġ� Ҫ��һ������ȱʡʱ����Ϊ�������ݿ��ã�����Ӧ�ð�����װ�� template1 ���ݿ��

����

TRUSTED

TRUSTED ˵���Ը����Եĵ��þ���ǰ�ȫ�ģ� Ҳ����˵���������ṩ������Ȩ�û��κ��ƹ��������Ƶ������� �����������ؼ��֣�ֻ�о��� PostgreSQL �����û�Ȩ�޵��˿���ʹ��������Դ����µĺ�����

PROCEDURAL

���Ǹ�û���õ��֡�

name

�µĹ��̻����Ե����ơ��������Ǵ�Сд�޹صġ� �������Ӧ�������ݿ������������Ψһ��

�������¼��ݵ�ԭ��������ֿ����õ����Ű�Χ��

HANDLER call_handler

call_handler ��һ����ǰע����ĺ��������֣��ú�������������ִ�����Ź�������д�ĺ����� �������Եĵ��þ��������һ�ֱ���������д������ C�����÷������ǰ汾 1 �ĵ��÷�� ������ PostgreSQL ��ע��Ϊ�����ܲ������ҷ��� language_handler ���͵ĺ����� language_handler �����ڽ���������Ϊ���þ����ռλ����

VALIDATOR valfunction

valfunction ��һ���Ѿ�ע��ĺ��������֣� ���ø����Դ����º�����ʱ�򽫵�������У���º��������û������У�麯������ô�����º�����ʱ��Ͳ��������� У�麯���������һ������Ϊ oid �IJ��������ǽ�Ҫ�����ĺ����� OID������ͨ���᷵�� void��

У�麯��ͨ�����麯���壬��������û���﷨���󣬵�����Ҳ���Բ鿴�������������ԣ� ����������Ƿ��ܴ���ij�ֲ������͡�Ҫ����һ������У�麯��Ӧ���� elog() ������ �ú����ķ���ֵ�������ԡ�

ע��

��������ͨ����Ӧ�����û�ֱ��ִ�С� ���� PostgreSQL �汾���ṩ�Ĺ������ԣ� ����Ӧ��ʹ�� createlang ���� ����Ϊ���ǰ�װ��ȷ�ĵ��þ���� ��createlang Ҳ�����ڲ����� CREATE LANGUAGE����

�� PostgreSQL �汾 7.3 ֮ǰ�� ���DZ������������������ռλ���� opaque�������� language_handler�� Ϊ��֧��װ�ؾɵ�ת���ļ���CREATE LANGUAGE ������������Ϊ���� opaque �ĺ����� �������ᷢ��һ��֪ͨ���ҰѺ��������������͸�Ϊ language_handler��

ʹ�� CREATE FUNCTION ������º�����

ʹ�� DROP LANGUAGE�����߸����� droplang ����ɾ��һ���������ԡ�

ϵͳ�� pg_language ������ Section 41.18�� ��¼�˸����йص�ǰ��װ�Ĺ������Ե���Ϣ��createlang Ҳ��һ��ѡ���г��Ѱ�װ�����ԡ�

Ҫʹ��һ�ֹ������ԣ��û����뱻���� USAGE Ȩ�ޡ� �����������֪�ǿ��ŵģ���ô createlang �����Զ���ÿ���˸���Ȩ�ޡ�

����

��������˳��ִ�е����ע��һ���µĹ������Լ�������ĵ��þ����

CREATE FUNCTION plsample_call_handler() RETURNS language_handler
    AS '$libdir/plsample'
    LANGUAGE C;
CREATE LANGUAGE plsample
    HANDLER plsample_call_handler;

������

CREATE LANGUAGE �� PostgreSQL ��չ��

�ּ�

ALTER LANGUAGE, CREATE FUNCTION, DROP LANGUAGE, GRANT, REVOKE, createlang, droplang