createlang — PostgreSQLの手続き言語をインストールする
createlang [connection-option...] langname [dbname]
createlang [connection-option...] --list | -l [dbname]
createlangは、PostgreSQLデータベースに手続き言語を追加するためのユーティリティです。
createlangは単なるSQLコマンドCREATE LANGUAGEのラッパです。
createlangは廃止予定であり、将来のPostgreSQLリリースで削除される可能性があります。
代わりにCREATE EXTENSIONコマンドを直接使用することを推奨します。
createlangでは、下記のコマンドライン引数を指定できます。
langnameインストールする手続きプログラミング言語の名前を指定します。 (この名前は小文字です。)
[-d] dbname[--dbname=]dbname言語を追加するデータベースを指定します。 デフォルトでは、現在のシステムユーザ名と同じ名前のデータベースが使用されます。
-e--echo実行されるSQLコマンドを表示します。
-l--list対象データベース内に既にインストールされている言語の一覧を表示します。
-V--versioncreatelangのバージョンを表示し、終了します。
-?--helpcreatelangのコマンドライン引数の使用方法を表示し、終了します。
createlangは、以下のコマンドライン引数も接続パラメータとして受け付けます。
-h host--host=hostサーバが稼働しているマシンのホスト名を指定します。 この値がスラッシュから始まる場合、Unixドメインソケット用のディレクトリとして使用されます。
-p port--port=portサーバが接続を監視するTCPポートもしくはUnixドメインソケットファイルの拡張子を指定します。
-U username--username=username接続するためのユーザ名を指定します。
-w--no-passwordパスワードの入力を促しません。
サーバがパスワード認証を必要とし、かつ、.pgpassファイルなどの他の方法が利用できない場合、接続試行は失敗します。
バッチジョブやスクリプトなどパスワードを入力するユーザが存在しない場合にこのオプションは有用かもしれません。
-W--passwordデータベースに接続する前に、createlangは強制的にパスワード入力を促します。
サーバがパスワード認証を要求する場合createlangは自動的にパスワード入力を促しますので、これが重要になることはありません。
しかし、createlangは、サーバにパスワードが必要かどうかを判断するための接続試行を無駄に行います。
こうした余計な接続試行を防ぐために-Wの入力が有意となる場合もあります。
PGDATABASEPGHOSTPGPORTPGUSERデフォルトの接続パラメータです。
また、このユーティリティは、他のほとんどのPostgreSQLユーティリティと同様、libpqでサポートされる環境変数を使用します(32.14. 環境変数を参照してください)。
ほとんどのエラーメッセージは、読めば理解できるものとなっています。
エラーメッセージを見ても問題が解決しない場合は、createlangを--echoオプションを付けて実行し、詳細については、対応するSQLコマンドを参照してください。
libpqフロントエンドライブラリで使用されるデフォルトの接続設定と環境変数も適用されます。
言語を削除するには droplangを使用してください。
pltcl言語をtemplate1データベースにインストールします。
$createlang pltcl template1
言語をtemplate1にインストールすると、それより後で作成されるデータベースにも自動的にインストールされることに注意してください。