PostgreSQL 8.4.1文書
前のページ | 巻戻し |  | 早送り | 次のページ

# createdb

## 名前

createdb -- 新しいPostgreSQLデータベースを作成する

## 概要

`createdb` [`option`...] [`dbname`] [`description`]

## 説明

createdbは、新しいPostgreSQLデータベースを作成します。

通常、このコマンドを実行したデータベースユーザが、新しいデータベースの所有者になります。 ただし、コマンドを実行するユーザが適切な権限を持っている場合、`-O`オプションを使用して別のユーザを所有者に指定することができます。

createdbはCREATE DATABASEというSQLコマンドのラッパです。 したがって、このユーティリティでデータベースを作成しても、これ以外の方法でサーバにアクセスしてデータベースを作成しても何も違いはありません。

## オプション

createdbでは、下記のコマンドライン引数を指定できます。

`dbname`

  作成するデータベースの名前を指定します。 この名前はクラスタ内の全てのPostgreSQLデータベースの中で一意でなければなりません。 デフォルトでは、現在のシステムユーザと同じ名前でデータベースを作成します。

`description`

  新しく作成されるデータベースに関連付けるコメントを指定します。

`-D `tablespace``
`--tablespace `tablespace``

  データベース用のデフォルトのテーブル空間を指定します。

`-e`
`--echo`

  createdbが生成し、サーバに送信したコマンドをエコー表示します。

`-l `locale``
`--locale `locale``

  このデータベースで使用されるロケールを指定します。 これは`--lc-collate`と`--lc-ctype`の両方を指定することと等価です。

`--lc-collate `locale``

  このデータベースで使用されるLC_COLLATE設定を指定します。

`--lc-ctype `locale``

  このデータベースで使用されるLC_CTYPE設定を指定します。

`-E `encoding``
`--encoding `encoding``

  このデータベース内で使用する文字符号化方式を指定します。 PostgreSQLサーバでサポートされる文字セットについては項22.2.1で説明します。

`-O `owner``
`--owner `owner``

  新しいデータベースの所有者となるデータベースユーザを指定します。

`-T `template``
`--template `template``

  このデータベースの構築に使用するテンプレートデータベースを指定します。

オプション`-D`、`-E`、`-l`、`-O`、および`-T`は、基盤となるCREATE DATABASEというSQLコマンドのオプションにそれぞれ対応しています。 詳細はそちらを参照してください。

またcreatedbは、以下のコマンドライン引数を接続パラメータとして受け付けます。

`-h `host``
`--host `host``

  サーバが稼働しているマシンのホスト名を指定します。 この値がスラッシュから始まる場合、Unixドメインソケット用のディレクトリとして使用されます。

`-p `port``
`--port `port``

  サーバが接続を監視するTCPポートもしくはUnixドメインソケットのファイル拡張子を指定します。

`-U `username``
`--username `username``

  接続に使用するユーザ名を指定します。

`-w`
`--no-password`

  パスワードの入力を促しません。 サーバがパスワード認証を必要とし、かつ、`.pgpass`ファイルなどの他の方法が利用できない場合、接続試行は失敗します。 バッチジョブやパスワードを入力するユーザが存在しない場合にこのオプションは有用かもしれません。。

`-W`
`--password`

  データベースに接続する前に、createdbは強制的にパスワード入力を促します。

  サーバがパスワード認証を要求する場合createdbは自動的にパスワード入力を促しますので、これが重要になることはありません。 しかし、createdbは、サーバにパスワードが必要かどうかを判断するための接続試行を無駄に行います。 こうした余計な接続試行を防ぐために`-W`の入力が有意となる場合もあります。

## 環境

`PGDATABASE`

  この値が設定されている場合、コマンドラインで上書きされない限り、設定された値が作成するデータベースの名前になります。

`PGHOST`
`PGPORT`
`PGUSER`

  デフォルトの接続パラメータです。 コマンドラインでも`PGDATABASE`でも名前が指定されていない場合は、`PGUSER`が作成するデータベースの名前にもなります。

また、このユーティリティは、他のほとんどのPostgreSQLユーティリティと同様、libpqでサポートされる環境変数を使用します（項30.13を参照してください）。

## 診断

問題が発生した場合、考えられる原因とエラーメッセージの説明についてCREATE DATABASEとpsqlを参照してください。 データベースサーバは対象ホストで稼働していなければなりません。 また、libpqフロントエンドライブラリで使用される、全てのデフォルトの接続設定と環境変数が適用されることも覚えておいてください。

## 例

デフォルトのデータベースサーバを使用して`demo`データベースを作成します。

    $ createdb demo

`eden`ホスト上のポート番号5000のサーバを使用し、`LATIN1`符号化方式を使用する`demo`データベースを、背後で実行されるコマンドを表示させながら作成します。

    $ createdb -p 5000 -h eden -E LATIN1 -e demo
    CREATE DATABASE demo ENCODING 'LATIN1';

## 関連項目

dropdb, CREATE DATABASE

前のページ | ホーム | 次のページ
clusterdb | 上に戻る | createlang