CREATEDB UNIX 11/05/95 PostgreSQL PostgreSQL

名前

createdb - データベースを生成する

書式

createdb [ -a system][ -h host][ -p port][ -u] [ -D location][dbname]

説明

createdb は新しいデータベースを生成する。このコマンドを実行する人は、このデータベースのデータベース管理者または DBA となり、Postgres の特権ユーザを除けば、このデータベースを破壊できる唯一の人となる。

Createdbpsqlを起動するシェルスクリプトである。そのため、createdb が実行される前に、そのデータベース・サーバホスト上でpostmasterプロセスが動作していなければならない。また、psql(1) で述べられているように、psqlPGOPTIONPGREALM 環境変数が渡されて、処理される。

オプション引数dbnameには、生成するデータベースの名前を指定する。この名前は、すべてのPostgres データベース間でユニークである必要がある。dbnameはデフォルトでは USER 環境変数の値である。

createdbは以下のコマンドライン・オプションを持つ。

-a system

postmasterプロセスへの接続において使用する認証システムsystem(see pgintro(1) )を指定する。このオプションはもはや意味を持たない。

-D dbpath

このデータベースのための代替データベース位置を指定する。

-h host

postmasterが動作しているマシンのホスト名を指定する。デフォルトではローカルのUnix ドメインソケットを使用する。

-p port

postmasterが接続を待っているインターネット TCP/IP ポートまたはローカル Unix ドメインソケットファイル拡張子を指定する。デフォルトでは 5432 かまたは、(セットされていれば) PGPORT 環境変数の値となる。

-u

パスワード認証を使用する。ユーザ名とパスワードを指定するプロンプトが表示される。

# ローカルホスト上の postmaster を使い、ポート 5432 で 
# demo データベースを生成する。
createdb demo
    
# ホスト eden 上の postmaster を使い、ポート 5000 で 
# demo データベースを生成する。
createdb -p 5000 -h eden demo
    

ファイル

$PGDATA/base/dbnameデータベースdbnameに対応するファイルの位置。

関連項目

createdb(l) ,destroydb(1) , initdb(1) , psql(1) , postmaster(1) .

診断

Error: Failed to connect to backend (host= xxx , port= xxx )

Createdbは指定されたホストおよびポートにおいて、postmaster プロセスに接続できなかった。このメッセージが表示された場合は、postmasterが適切なホスト上で動作中であり、かつ適切なポートが指定されたかどうかを確認すること。もしあなたのサイトが認証システムを使っている場合、要求される認証資格を得ているかどうかを確認する。

user " username " is not in "pg_user"

あなたはリレーション "pg_user" に有効なエントリを持っておらず、Postgres で全く何もできない状態である。あなたのPostgres サイト管理者に連絡すること。

user " username " is not allowed to create/destroy databases

あなたには新しいデータベースを作る権限がない。あなたの Postgres サイト管理者に連絡すること。

dbname already exists

データベースがすでに存在する。

database creation failed on dbname

psqlまたはバックエンド・サーバで内部エラーが起こった。あなたのPostgres サイト管理者が Postgres を適切にインストールしたか、またそのサイトをinitdbで初期化したかを確認する。

翻訳者

堀田 倫英 <hotta@net-newbie.com>