createdb - データベースを生成する
createdb [ -a system][ -h host][ -p port][ -u] [ -D location][dbname]
createdb は新しいデータベースを生成する。このコマンドを実行する人は、このデータベースのデータベース管理者または DBA となり、Postgres の特権ユーザを除けば、このデータベースを破壊できる唯一の人となる。
Createdbはpsqlを起動するシェルスクリプトである。そのため、createdb が実行される前に、そのデータベース・サーバホスト上でpostmasterプロセスが動作していなければならない。また、psql(1) で述べられているように、psqlに PGOPTION と PGREALM 環境変数が渡されて、処理される。
オプション引数dbnameには、生成するデータベースの名前を指定する。この名前は、すべてのPostgres データベース間でユニークである必要がある。dbnameはデフォルトでは USER 環境変数の値である。
createdbは以下のコマンドライン・オプションを持つ。
postmasterプロセスへの接続において使用する認証システムsystem(see pgintro(1) )を指定する。このオプションはもはや意味を持たない。
このデータベースのための代替データベース位置を指定する。
postmasterが動作しているマシンのホスト名を指定する。デフォルトではローカルのUnix ドメインソケットを使用する。
postmasterが接続を待っているインターネット TCP/IP ポートまたはローカル Unix ドメインソケットファイル拡張子を指定する。デフォルトでは 5432 かまたは、(セットされていれば) PGPORT 環境変数の値となる。
パスワード認証を使用する。ユーザ名とパスワードを指定するプロンプトが表示される。
# ローカルホスト上の postmaster を使い、ポート 5432 で
# demo データベースを生成する。
createdb demo
# ホスト eden 上の postmaster を使い、ポート 5000 で
# demo データベースを生成する。
createdb -p 5000 -h eden demo
createdb(l) ,destroydb(1) , initdb(1) , psql(1) , postmaster(1) .
Createdbは指定されたホストおよびポートにおいて、postmaster プロセスに接続できなかった。このメッセージが表示された場合は、postmasterが適切なホスト上で動作中であり、かつ適切なポートが指定されたかどうかを確認すること。もしあなたのサイトが認証システムを使っている場合、要求される認証資格を得ているかどうかを確認する。
あなたはリレーション "pg_user" に有効なエントリを持っておらず、Postgres で全く何もできない状態である。あなたのPostgres サイト管理者に連絡すること。
あなたには新しいデータベースを作る権限がない。あなたの Postgres サイト管理者に連絡すること。
データベースがすでに存在する。
psqlまたはバックエンド・サーバで内部エラーが起こった。あなたのPostgres サイト管理者が Postgres を適切にインストールしたか、またそのサイトをinitdbで初期化したかを確認する。
堀田 倫英 <hotta@net-newbie.com>