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
--version
createlangのバージョンを表示し、終了します。
-?
--help
createlangのコマンドライン引数の使用方法を表示し、終了します。
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
の入力が有意となる場合もあります。
PGDATABASE
PGHOST
PGPORT
PGUSER
デフォルトの接続パラメータです。
また、このユーティリティは、他のほとんどのPostgreSQLユーティリティと同様、libpqでサポートされる環境変数を使用します(31.14. 環境変数を参照してください)。
ほとんどのエラーメッセージは、読めば理解できるものとなっています。
エラーメッセージを見ても問題が解決しない場合は、createlangを--echo
オプションを付けて実行し、詳細については、対応するSQLコマンドを参照してください。
libpqフロントエンドライブラリで使用されるデフォルトの接続設定と環境変数も適用されます。
言語を削除するには droplangを使用してください。
pltcl
言語をtemplate1
データベースにインストールします。
$
createlang pltcl template1
言語をtemplate1
にインストールすると、それより後で作成されるデータベースにも自動的にインストールされることに注意してください。