createlang — установить процедурный язык PostgreSQL
createlang [параметр-подключения...] имя_языка [имя_бд]
createlang [параметр-подключения...] --list | -l [имя_бд]
createlang — это утилита для добавления процедурного языка в базу данных PostgreSQL.
createlang представляет собой обёртку для SQL-команды CREATE EXTENSION.
createlang является устаревшей и может быть удалена в последующих версиях PostgreSQL. Вместо неё рекомендовано использовать CREATE EXTENSION.
createlang принимает следующие аргументы:
имя_языкаУказывает название устанавливаемого процедурного языка. Имя должно быть в нижнем регистре.
[-d] имя_бд[--dbname=]имя_бдУказывает имя базы данных, для которой устанавливается процедурный язык. По умолчанию имя целевой базы совпадает с именем текущего системного пользователя.
-e--echoОтобразить выполняемые SQL-команды.
-l--listОтобразить список установленных языков в целевой базе данных.
-V--versionВывести версию createlang и прервать дальнейшее исполнение.
-?--helpВывести справку по аргументам createlang.
createlang также принимает из командной строки параметры подключения:
-h сервер--host=серверУказывает имя компьютера, на котором работает сервер. Если значение начинается с косой черты, оно определяет каталог Unix-сокета.
-p порт--port=портУказывает TCP-порт или расширение файла локального Unix-сокета, через который сервер принимает подключения.
-U имя_пользователя--username=имя_пользователяИмя пользователя, под которым производится подключение.
-w--no-passwordНе выдавать запрос на ввод пароля. Если сервер требует аутентификацию по паролю и пароль не доступен с помощью других средств, таких как файл .pgpass, попытка соединения не удастся. Этот параметр может быть полезен в пакетных заданиях и скриптах, где нет пользователя, который вводит пароль.
-W--passwordПринудительно запрашивать пароль перед подключением к базе данных.
Это несущественный параметр, так как createlang запрашивает пароль автоматически, если сервер проверяет подлинность по паролю. Однако, чтобы понять это, createlang лишний раз подключается к серверу. Поэтому иногда имеет смысл ввести -W, чтобы исключить эту ненужную попытку подключения.
PGDATABASEPGHOSTPGPORTPGUSERПараметры подключения по умолчанию
Эта утилита, как и большинство других утилит PostgreSQL, также использует переменные среды, поддерживаемые libpq (см. Раздел 31.14).
Обычно сообщения об ошибках полезны сами по себе. Если же их недостаточно, запустите createlang с параметром --echo и просмотрите подробности выполнения соответствующих SQL-команд. При диагностике возможных проблем стоит учитывать, что при запуске утилиты используются значения переменных окружения и параметров подключения по умолчанию libpq.
Для удаления ранее установленного языка используйте droplang.
Чтобы установить язык pltcl в базу template1:
$createlang pltcl template1
Обратите внимание на то, что установленный в template1 язык будет автоматически добавляться во все новые базы, использующие этот шаблон.