Определение нового языка, используемого при создании функций.
Синтаксис
CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE 'язык'
HANDLER обработчик
LANCOMPILER 'комментарий'
Параметры
Результаты
Описание
Команда CREATE LANGUAGE загружает новый процедурный язык в подключенную базу данных. Она используется с процедурными языками, указанными с ключом - -with-язык при первоначальной установке PostgreSQL. Например, для включения поддержки pltcl следует передать ключ - -with-tcl в процессе конфигурирования PostgreSQL.
После выполнения этой команды вы сможете создавать новые функции на добавленном языке. Команда CREATE LANGUAGE может выполняться только суперпользователем.
В PostgreSQL 7.1.x (последней версии на момент написания книги) модификация созданных языков не поддерживается. Чтобы изменить определение процедурного языка, необходимо удалить его из базы данных командой DROP LANGUAGE и создать заново.
Примечание 1
Примечание 1
Если команда CREATE LANGUAGE создает язык в базе данных templatel, поддержка этого языка будет автоматически включаться во все базы данных, созданные на основе этого шаблона (используемого по умолчанию).
Чтобы процедурный язык мог использоваться в PostgreSQL, для него должен быть написан специальный обработчик вызовов, откомпилированный в двоичный формат. Следовательно, для написания обработчиков требуются только компилируемые языки (такие, как С и C++).
Обработчик вызовов также должен быть отдельно определен в PostgreSQL как функция, вызываемая без аргументов и возвращающая тип opaque. Подобное определение обработчика предотвращает непосредственный вызов функции в командах SQL.