createdb

Name

createdb  --  新規に Postgres データベースを作成する

Synopsis

createdb [ dbname ]
createdb [ -h host ] [ -p
port ]
      [ -D datadir ] [ -u ]
 dbname ]
  

入力

-h host

postmaster が稼動しているマシンのホスト名 を 指定します。省略時には、 IP 接続ではなくローカルの Unix ドメインのソ ケット が使われます。

-p port

postmaster が接続要求を監視しているイン ターネ ットの TCP/IP ポートあるいは、ローカルの Unix ドメイン ソケット ファ イル の拡張子部分を指定します。ポート番号は省略時は 5432 ですが、環境変数 PGPORT が設定されていればその値になります。

-u

パスワード認証を使用します。 usernamepassword の入力が 要求されます。

-D datadir

標準とは別の場所にデータベースを作成する場合にその場所を指定します。 これは システム表がインストールされる場所で、ここで指定するデータベースの場 所では ありません。この両者は異なる場合があります。

dbname

作成するデータベースの名前を指定して下さい。データベース名はこのイン ストールにおける複数の Postgres データベース間で一意でなくてはい けません。 dbname は省略時は環境変 数 USER の値になります。

出力

   createdb は、 PGDATA/ dbname/ の新規データベース用データ エリアにファ イルを作成します。

Connection to database 'template1' failed. connectDB() failed: Is the postmaster running and accepting connections at 'UNIX Socket' on port 'port'? createdb: database creation failed on dbname.

createdb は指定されたホストの指定ポート上 の postmaster プロセスに接続できませんでし た。 このメッセージが出力されたときは、指定した適切なホストの適切なポート 上で postmaster が実行されているか確認してくだ さい。 サイトで認証システムを使用している場合は、認証の通過に必要な資格を 持って いるか確認して下さい。

Connection to database 'template1' failed. FATAL 1: SetUserId: user 'username' is not in 'pg_shadow' createdb: database creation failed on dbname.

pg_shadow 表に有効なエントリがないため Postgres への接続が許可されません。サイトの Postgres 管理者に連絡してください。

ERROR: user 'username' is not allowed to create/destroy databases createdb: database creation failed on dbname.

データベースを作成する権限がありません。サイトの Postgres 管理者に連絡してください。

ERROR: createdb: database 'dbname' already exists. createdb: database creation failed on dbname.

同名のデータベースがすでに存在します。

createdb: database creation failed on dbname.

psql 、あるいはバックエンド サーバでの処 理中に内部エラーが 発生しました。サイトの管理者が適切に Postgres をインストール し、initdb でサイトを初期化したか確認して 下さい。

Note: createdb は内部で template1 データベースに接続し、 psql から CREATE DATABASE を実行します。

説明

createdb は新規に Postgres データベースを作成します。 このコマンドを実行したユーザが作成されたデータベースのデータベース管理者 (または DBA )となり、そのユーザと Postgres のスーパーユーザだけがこのデータベースを削除できます。

createdb の実体は psql を呼び出すシェル スクリプトです。 したがって createdb が起動される前にデータベー ス サーバ ホスト上で postmaster プロセスが実行中である必要がありま す。 環境変数 PGOPTIONPGREALMpsql に渡され psql に記述されているような方法で処理されます。

使用例

ローカル ホストのポート番号 5432 上の postmaster でデータベース demo を作成する:

$ createdb demo
   

ホスト eden のポート番号 5000 上の postmaster でデータベース demo を作成する:

$ createdb -p 5000 -h eden demo